<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    GalaxyPilot —— D.S


            生命不熄,戰斗不止
    數據加載中……

    以前寫的一個javascript數據校驗函數

    ////////////////////////////////////////////////////////////////////////////
    //
    //?通用數據校驗函數,調用該函數需要傳兩個對像參數
    //?表單需要定義三個擴展屬性:nullable,datatype,cname?
    // nullable屬性用來說明該表單是否可以為空
    //????????????y——可以為空,n——不能為空
    //?datatype屬性用來說明該表單的數據類型,
    //????????????n——整型,m——浮點(例ma.b),
    //???????????? f——固定長度整數,d——日期型
    //cname屬性用來定義在數據校驗失敗時提示信息中出現的字出錯字段名稱
    //maxlength的取值應該和數據庫對應字段長度一直或小于
    //?
    //??????? ?最后修改日期:2003-12-02????????? ????????????? By?舵手
    //?
    ///////////////////////////////////////////////////////////////////////////

    var msg="";
    /* 取得字符串的字節長度 */
    function strlen(str)
    ?{
    ??var i;
    ??????? var len;
    ??????? len = 0;
    ??????? for (i=0;i<str.length;i++)
    ???{
    ???if (str.charCodeAt(i)>255) len+=2; else len++;
    ??}
    ??????? return len;
    }
    /* 檢測字符串是否為空*/
    function isnull(str)
    ?{
    ??var i;
    ??????? for (i=0;i<str.length;i++)
    ???{
    ???if (str.charAt(i)!=' ') return false;
    ??????? }
    ??????? return true;
    }

    /* 檢測字符串是否全為數字 */
    function isnumber(str)
    ?{
    ??var number_chars = "1234567890";
    ??????? var i;
    ??????? for (i=0;i<str.length;i++)
    ???{
    ??????????? if (number_chars.indexOf(str.charAt(i))==-1) return false;
    ??????? }
    ??????? return true;
    }
    /* 檢測字符串是否是指點的數點數 */
    function isfloat(str,typ){
    ??var number_chars = "1234567890.";
    ??????? var i;
    ??????? for (i=0;i<str.length;i++){
    ??????????? if (number_chars.indexOf(str.charAt(i))==-1){
    ?????? msg="這里應該是數字;";
    ????return false;
    ???}
    ??????? }
    ??if (str.length==0)
    ??{
    ???msg="數字位不能為空";
    ???return false;
    ??}
    ??var len=typ.length;
    ??var po=typ.indexOf(".");
    ??if (po==-1){
    ???intlen=typ.substring(1,len);
    ???floatlen="0";
    ??}
    ??else{
    ????? var intlen=typ.substring(1,po);
    ????? var floatlen=typ.substring(po+1,len);
    ??}
    ??
    ??var len=str.length;
    ??var po=str.indexOf(".");
    ??if (po==-1){
    ???ints=str.substring(0,len);
    ???floats="0";
    ??}
    ??else{
    ????? var ints=str.substring(0,po);
    ????? var floats=str.substring(po+1,len);
    ??}
    ??????? if (intlen<ints.length){
    ???msg="整數位超過長度;";
    ???return false;
    ??}
    ??if (floatlen<floats.length){
    ???msg="小數位超過長度;";
    ???return false;
    ??}
    ??return true;
    }
    /* 檢測字符串是否是有效日期 */
    String.prototype.isDate=function(){
    ?var re=/^(\d{1,4})(-|\/|\.)(\d{1,2})\2(\d{1,2})$/;
    ?var r=this.match(re);
    ?if(r==null) return false;
    ?var d=new Date(r[1],r[3]-1,r[4]);
    ?return (d.getFullYear()==r[1]&&d.getMonth()==r[3]-1&&d.getDate()==r[4]);
    }
    /*檢測數據類型*/
    String.prototype.isType=function(){
    ?var re=/^\m((\d+)*)((\.\d+)*)$/;
    ?var r=this.match(re);
    ?if (r != null)
    ??return true;
    }

    /* 檢測字符串是否滿足要求 */
    function verify(obj,flag)
    {
    ?var nam,val,len,max,nulll,typee,bool,str,boo,typ;
    ?str="";
    ??? bool=true;
    ?boo=true
    ??? for (i=0;i<obj.elements.length;i++)
    ?{
    ??if (!bool)
    ??????????? break;
    ???? max=obj.elements[i].maxLength;
    ??val=(obj.elements[i].value);
    ??nam=(obj.elements[i].name);?
    ??typee=obj.elements[i].datatype;
    ??if (nam=="editmode" && flag)
    ??{
    ???break;
    ??}
    ??if (nam !="editmode" && !flag && boo)
    ???continue;
    ??else
    ???boo=false;
    ??????? len=strlen(val);
    ??if (typee!=null && typee!="undefined")
    ??{
    ???if (typee.isType()){
    ?????? typ=typee;
    ????typee="m";
    ????max=max+1;
    ???}????
    ??}
    ???????
    ??if (len>max)
    ??{
    ???????? str="【"+obj.elements[i].cname+"】"+"超過限制長度;";
    ??????????? obj.elements[i].focus();
    ???obj.elements[i].select();
    ???bool=false;
    ???alert(str);
    ???break;
    ??}
    ??nulll=obj.elements[i].nullable;
    ??if (nulll=="n")
    ???? {
    ???if (isnull(val))
    ???{
    ????????? str="【"+obj.elements[i].cname+"】"+"不能為空;";
    ????obj.elements[i].focus();
    ?????? obj.elements[i].select();
    ????bool=false;
    ????alert(str);
    ??????????????? break;
    ???}
    ??}
    ??
    ??switch(typee)
    ??{
    ???case "n" : if (isnumber(val)==false)
    ???{
    ???? str="【"+obj.elements[i].cname+"】"+"應該是數字;";
    ???? obj.elements[i].focus();
    ??????? obj.elements[i].select();
    ???? bool=false;
    ???? alert(str);?
    ???}
    ???break;
    ??????????? case "m" : if (isfloat(val,typ)==false)
    ????? {
    ???? str="【"+obj.elements[i].cname+"】"+"數字的格式不正確"+"——"+msg;
    ???? obj.elements[i].focus();
    ??????? obj.elements[i].select();
    ???? bool=false;
    ???? alert(str);
    ???}
    ???break;
    ???case "f" : if (isnumber(val)==false || (max!=len && len!=""))
    ????? {
    ???? str="【"+obj.elements[i].cname+"】"+"不是數字或長度無效;";
    ???? obj.elements[i].focus();
    ??????? obj.elements[i].select();
    ???? bool=false;
    ???? alert(str);
    ???}
    ???break;

    ???case "d" : if (! val.isDate() && val!="")
    ????? {
    ???? str="【"+obj.elements[i].cname+"】"+"日期格式無效;";
    ???? obj.elements[i].focus();
    ??????? obj.elements[i].select();
    ???? bool=false;
    ???? alert(str);
    ???}
    ???break;
    ???//在這里可以加入其它數據類型校驗
    ???default?: break;
    ??}
    ?}
    ?return bool;??
    }
    /*回車轉換焦點*/
    function keyenter(obj,obje)
    {
    ?var keycd,i,nam,ii,bool;
    ?keycd=event.keyCode;
    ?ii=obj.elements.length;
    ?nam=obje.name;
    ?bool=true;
    ?if (keycd==13)
    ?{
    ????? for (i=0;i<obj.elements.length;i++)
    ???????????? {
    ???? if (bool)
    ???? if (nam==(obj.elements[i].name))
    ???????? {
    ???????? bool=false;
    ???????? if (i+1<ii)
    ??????{
    ?????????????????? obj.elements[i + 1].focus();
    ??????}
    ??????? }
    ???????? }
    ????? }
    }

    posted on 2006-05-09 09:04 舵手 閱讀(2567) 評論(4)  編輯  收藏

    評論

    # re: 以前寫的一個javascript數據校驗函數  回復  更多評論   

    寫得好爛~
    2006-05-10 09:28 | xxx

    # re: 以前寫的一個javascript數據校驗函數  回復  更多評論   

    是的,寫的確實很爛。當時剛接觸B/S的開發。后來用不到這個,也就沒完善過!
    2006-05-10 13:51 | 舵手 QQ:8117892

    # re: 以前寫的一個javascript數據校驗函數[未登錄]  回復  更多評論   

    強哥,好~
    2007-04-06 14:36 | Bright

    # re: 以前寫的一個javascript數據校驗函數  回復  更多評論   

    @Bright

    不知道你是那位?
    2007-04-07 08:29 | 舵手 QQ:8117892

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 911精品国产亚洲日本美国韩国 | 亚洲AV一宅男色影视| 亚洲毛片基地日韩毛片基地| 亚洲AV永久无码天堂影院| a视频免费在线观看| 日韩毛片免费无码无毒视频观看| 国产亚洲AV夜间福利香蕉149| 亚洲国产av一区二区三区丶| 一级毛片免费播放试看60分钟| 114级毛片免费观看| 亚洲av区一区二区三| 亚洲狠狠ady亚洲精品大秀| 日本黄页网址在线看免费不卡| 91在线老王精品免费播放| 亚洲?v女人的天堂在线观看 | 久久久久亚洲AV成人无码 | eeuss影院免费直达入口| 午夜福利不卡片在线播放免费| 亚洲午夜无码片在线观看影院猛| 亚洲福利秒拍一区二区| j8又粗又长又硬又爽免费视频| 啦啦啦中文在线观看电视剧免费版 | 最近中文字幕mv免费高清电影 | 99在线精品视频观看免费| 久久久久亚洲AV成人网人人网站| 久久精品国产亚洲AV久| 拍拍拍无挡视频免费观看1000| 黄a大片av永久免费| 亚洲精品美女久久久久9999| 好湿好大好紧好爽免费视频| 午夜dj在线观看免费视频| 久久国产亚洲高清观看| 亚洲精品无码成人片在线观看 | 亚洲视频在线一区二区三区| 一个人免费观看视频在线中文| 毛片免费视频在线观看| 久久久久亚洲精品天堂| 中文字幕无线码中文字幕免费| 国产免费爽爽视频免费可以看| 亚洲国产精品久久久久秋霞影院| 黄网站免费在线观看|