當前位置:編程學習大全網 - 源碼下載 - 978W源代碼

978W源代碼

給妳壹個強大的JAVAScript驗證。

===========================

& lttitle & gt特裏。表單驗證驗證程序

& ltstyle & gt

body,TD { font:normal 12px Verdana;顏色:#333333}

input,textarea,select,TD { font:normal 12px Verdana;顏色:# 333333;邊框:1px固體# 999999;背景:#ffffff}

表{ border-collapse:collapse;}

td{padding:3px}

輸入{身高:20;}

textarea {寬度:80%;高度:50pxoverfmin:自動;}

表單{display:inline}

& lt/style & gt;

& lttable align="center " >

& ltform name = " the form " id = " demo " action = " " method = " get " onSubmit = " return Validator。Validate(this,2)" & gt;

& lttr & gt

& lttd & gt實名:& lt/TD & gt;

& lt/tr & gt;

& lttr & gt

& lttd & gt英文名: & lt/TD & gt;

& lt/tr & gt;

& lttr & gt

& lttd & gt主頁:

& lt/tr & gt;

& lttr & gt

& lttd & gt密碼:

& lt/tr & gt;

& lttr & gt

& lttd & gt重復:

& lt/tr & gt;

& lttr & gt

& lttd & gt郵箱: & lt/TD & gt;

& lt/tr & gt;

& lttr & gt

& lttd & gt郵箱: & lt/TD & gt;

& lt/tr & gt;

& lttr & gt

& lttd & gtQQ:& lt;/TD & gt;& lttd & gt& ltinput name = " QQ " require = " false " datatype = " QQ " msg = " QQ號碼不存在" > & lt/TD & gt;

& lt/tr & gt;

& lttr & gt

& lttd & gt身份證: & lt/TD & gt;

& lt/tr & gt;

& lttr & gt

& lttd & gt年齡:

& lt/tr & gt;

& lttr & gt

& lttd & gt年齡1:& lt;/TD & gt;

& lt/tr & gt;

& lttr & gt

& lttd & gt電話:& lt/TD & gt;

& lt/tr & gt;

& lttr & gt

& lttd & gt手機:& lt/TD & gt;

& lt/tr & gt;

& lttr & gt

& lttd & gt生日: & lt/TD & gt;

& lt/tr & gt;

& lttr & gt

& lttd & gt郵政編碼:& lt/TD & gt;

& lt/tr & gt;

& lttr & gt

& lttd & gt郵政編碼:& lt/TD & gt;

& lt/tr & gt;

& lttr & gt

& lttd & gt操作系統:& lt選項值= " " & gt選擇您的操作系統

& lt/tr & gt;

& lttr & gt

& lttd & gt位置:北京

& lt/tr & gt;

& lttr & gt

& lttd & gt愛好:

& lt/tr & gt;

& lttd & gt自我介紹:中文是壹個單詞

& lt/tr & gt;

& lttd & gt自傳:中文是兩個字節t

& lt/tr & gt;

& lttr & gt

& lttd colspan="2 " >& lt輸入name = " submit " type = " submit " value = " confirm submission " > & lt;inputonclick = " validator . validate(document . getelementbyid(' demo ')" value = " inspection mode 1 " type = " button " & gt;& ltInputonclick = "validator。驗證(文檔。getelementbyid ('demo '),2)" value = "測試模式2 " type = " button " & gt& ltInputonclick = "validator。驗證(文檔。getelementbyid ('demo '),3)" value = "測試模式3 " type = " button " & gt& lt/TD & gt;

& lt/tr & gt;

& lt/form & gt;

& lt/table & gt;

& lt腳本& gt

驗證器= {

要求:/。+/,

電子郵件:/^\w+([-+.]\w+)*@\w+([-。]\w+)*\。\w+([-。]\w+)*$/,

電話:/^((\(\d{3}\))|(\d{3}\-)?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/,

手機:/^((\(\d{3}\))|(\d{3}\-)?13 { 9 } $/,

網址:/^pare(value,getattribute('operator'),getattribute('to'))",

風俗:“這個。Exec(value,getAttribute('regexp ')",

群:“這個。MustChecked(getAttribute('name '),getAttribute('min '),getAttribute('max ')",

ErrorItem : [document.forms[0]],

錯誤消息:["提交失敗,原因如下:\t\t\t"],

驗證:函數(形式,模式){

var obj = the form | | event . srcelement;

var count = obj . elements . length;

這個。error message . length = 1;

這個。error item . length = 1;

這個。錯誤item[0]= obj;

for(var I = 0;我& lt數數;i++){

with(obj.elements[i]){

var _ dataType = get attribute(" dataType ");

if(type of(_ dataType)= = " object " | | type of(this[_ dataType])= = " undefined ")繼續;

這個。ClearState(obj . elements[I]);

if(get attribute(" require ")= = " false " & amp;& ampvalue == " ")繼續;

開關(_數據類型){

案例“日期”:

案例“重復”:

案例“範圍”:

案例“比較”:

案例“自定義”:

案例“組”:

案例“限制”:

案例“LimitB”:

案例“安全字符串”:

如果(!eval(this[_ dataType]){

這個。AddError(i,getAttribute(" msg "));

}

打破;

默認值:

如果(!此[_數據類型]。測試(值)){

這個。AddError(i,getAttribute(" msg "));

}

打破;

}

}

}

如果(這個。錯誤消息。長度& gt1){

mode = mode | | 1;

var errCount = this。錯誤item . length;

開關(模式){

案例二:

for(var I = 1;我& lterrCounti++)

這個。error item[I]. style . color = " red ";

案例1:

警惕(這個。error message . join(" \ n ");

這個。錯誤Item[1]。焦點();

打破;

案例三:

for(var I = 1;我& lterrCounti++){

嘗試{

var SPAN = document . createelement(" SPAN ");

span . id = " _ _ error message panel ";

span . style . color = " red ";

這個。error item[I]. parent node . append child(span);

span.innerHTML = this。錯誤消息[i]。替換(/\d+:/," * ");

}

catch(e){ alert(e . description);}

}

這個。錯誤Item[1]。焦點();

打破;

默認值:

警惕(這個。error message . join(" \ n ");

打破;

}

返回false

}

返回true

},

極限:函數(長度,最小值,最大值){

min = min | | 0;

max = max || Number。MAX _ VALUE

返回最小值& ltlen & amp& amplen & lt= max

},

LenB:函數(字符串){

返回str.replace(/[^\x00-\xff]/g,"**").長度;

},

ClearState:函數(elem){

帶有(elem){

if(style.color == "red ")

style.color =

var lastNode = parent node . child nodes[parent node . child nodes . length-1];

if(lastnode . id = = " _ _ error message panel ")

parent node . remove child(lastNode);

}

},

AddError:函數(index,str){

這個。ErrorItem[this。ErrorItem.length] = this。錯誤項[0]。元素[索引];

這個。錯誤消息[this。ErrorMessage.length] =這。error message . length+":"+str;

},

Exec : function(op,reg){

返回新的RegExp(reg," g ")。測試(op);

},

比較:函數(op1,運算符,op2){

開關(操作員){

案例“不等”:

return (op1!= op2);

案例“GreaterThan”:

return(op 1 & gt;op2);

案例“GreaterThanEqual”:

return(op 1 & gt;= op2);

案例“小於”:

return(op 1 & lt;op2);

案例“小於等於”:

return(op 1 & lt;= op2);

默認值:

return(op 1 = = op2);

}

},

MustChecked : function(name,min,max){

var groups = document . getelementsbyname(name);

var has checked = 0;

min = min | | 1;

max = max | | groups.length

for(var I = groups . length-1;我& gt=0;我-)

if(組[i].checked)has checked++;

返回最小值& lt= hasChecked & amp& amphasChecked & lt= max

},

IsDate : function(op,formatString){

format string = format string | | " ymd ";

var m,年,月,日;

開關(格式字符串){

案例“ymd”:

m = op.match(新regexp("^((\\d{4})|(\\d{2}))([-./])(\\d{1,2})\\4(\\d{1,2 })$ ");

if(m == null)返回false

day = m[6];

月= m[5]-;

年份= (m[2])。長度== 4)?m[2] : GetFullYear(parseInt(m[3],10));

打破;

案例“dmy”:

m = op.match(新RegExp("^(\\d{1,2})([-./])(\\d{1,2 })\ \ 2((\ \ d { 4 })|(\ \ d { 2 })$ ");

if(m == null)返回false

day = m[1];

月= m[3]-;

年份= (m[5])。長度== 4)?m[5] : GetFullYear(parseInt(m[6],10));

打破;

默認值:

打破;

}

如果(!parseInt(month))返回false

月=月==12?0:月;

var date =新日期(年、月、日);

return(type of(date)= = " object " & amp;& ampyear = = date . get full year()& amp;& ampmonth = = date . getmonth()& amp;& ampday = = date . getdate());

function get full year(y){ return((y & lt;30 ?" 20 ":" 19 ")+y)| 0;}

}

}

& lt/script & gt;

  • 上一篇:求老毛桃pe中的konboot(網上的壹用開機就藍屏)求個可用的
  • 下一篇:農業物聯網系統之智能控制功能有哪些?
  • copyright 2024編程學習大全網