<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

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


    網站導航:
     
    主站蜘蛛池模板: 0588影视手机免费看片| 国产精品免费视频观看拍拍| 59pao成国产成视频永久免费 | 亚洲aⅴ天堂av天堂无码麻豆| 黄瓜视频影院在线观看免费| 亚洲福利视频网址| 免费看成人AA片无码视频羞羞网| 亚洲最大在线视频| 欧美大尺寸SUV免费| 天堂亚洲国产中文在线| 成年女人永久免费观看片| 菠萝菠萝蜜在线免费视频| 亚洲视频在线免费| 免费播放在线日本感人片| 亚洲AV无码国产精品麻豆天美| 久久免费福利视频| 亚洲一区二区三区91| 午夜电影免费观看| 一级全免费视频播放| 久久久久久久尹人综合网亚洲| 鲁大师在线影院免费观看| 亚洲中文字幕人成乱码| 国产gav成人免费播放视频| 国产成人精品免费视频大全| 久久久影院亚洲精品| 91麻豆最新在线人成免费观看| 亚洲精品理论电影在线观看| 亚洲av片一区二区三区| 免费观看成人久久网免费观看| 亚洲成无码人在线观看| 国产资源免费观看| 国内精品一级毛片免费看| 亚洲二区在线视频| 亚洲人成电影网站国产精品| 97视频免费观看2区| 亚洲avav天堂av在线网毛片| 亚洲国产精品无码av| 女人18毛片水最多免费观看| 中文在线免费视频| 亚洲中文字幕久久精品无码VA| 久久久久久亚洲精品不卡|