?? detect.js
字號:
var flag=[0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0]; var $=function(tagName){ return document.getElementsByTagName(tagName); } var $div=function(tagName){ return document.getElementById(tagName+"_txt"); } var $val=function(tagName){ return document.getElementById(tagName); } var thisname; var thisinfo; function getinfo(){ thisname=event.srcElement.name; thisinfo=$val(thisname).value; } //----------接受協議 function accept_info(){ flag[0]=1; check_data(); } //----------拒絕協議 function refuse_info(){ flag[0]=0; check_data(); } //----------郵箱檢測 function check_email(email){ var reEmail=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; var b_email=reEmail.test(email); if(b_email){ $("span")[13].innerHTML="<img src='images/reg_yesok.gif'/> 郵箱可用"; flag[1]=1; check_data(); } else{ $("span")[13].innerHTML="<img src='images/reg_yesno.gif'/> 郵箱錯誤"; flag[1]=0; check_data(); } } //----------長度判斷 function getStrActualLen(sChars){ return sChars.replace(/[^\x00-\xff]/g,"xx").length; } //*************************************** //檢查中文輸入 function isChinese(str){ var badChar ="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; badChar += "abcdefghijklmnopqrstuvwxyz"; badChar += "0123456789"; badChar += " "+" ";//半角與全角空格 badChar += "`~!@#$%^&()-_=+]\\\\|:;\\\\\<,>?/";//不包含*或.的英文符號 if(""==str){ return false; } for(var i=0;i<str.length;i++){ var c = str.charAt(i);//字符串str中的字符 if(badChar.indexOf(c) > -1){ return false; } } return true; } //身份證判斷輸入 function isIdCardNo(num){ var len = num.length, re; if (len == 15) re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/); else if (len == 18) re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/); else { return false;} var a = num.match(re); if (a != null) { if (len==15) { var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]); var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5]; } else { var D = new Date(a[3]+"/"+a[4]+"/"+a[5]); var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5]; } if (!B) { return false;} } return true; } //----------姓名檢測 function check_UserName(){ getinfo(); if(thisinfo!="" && isChinese(thisinfo) && getStrActualLen(thisinfo)<9 && getStrActualLen(thisinfo)>2){ $div(thisname).innerHTML="<img src='images/reg_yesok.gif'/> 正確!"; $div(thisname).className="rig"; flag[1]=1; check_data(); } else{ $div(thisname).innerHTML="<img src='images/reg_yesno.gif'/> 您的姓名錯誤,請使用中文!"; $div(thisname).className="err"; flag[1]=0; check_data(); } } //----------籍貫檢測 function check_Birthplace(){ getinfo(); if(thisinfo!="" && getStrActualLen(thisinfo)<20 && getStrActualLen(thisinfo)>3){ $div(thisname).innerHTML="<img src='images/reg_yesok.gif'/> 正確!"; $div(thisname).className="rig"; flag[2]=1; check_data(); } else{ $div(thisname).innerHTML="<img src='images/reg_yesno.gif'/> 籍貫填寫錯誤!"; $div(thisname).className="err"; flag[2]=0; check_data(); } } //----------身份證檢測 function check_IdentityNO(){ getinfo(); if(thisinfo!="" && !isChinese(thisinfo) && isIdCardNo(thisinfo)){ $div(thisname).innerHTML="<img src='images/reg_yesok.gif'/> 正確!"; $div(thisname).className="rig"; flag[3]=1; check_data(); } else{ $div(thisname).innerHTML="<img src='images/reg_yesno.gif'/> 請正確填寫15或18位身份證號碼!"; $div(thisname).className="err"; flag[3]=0; check_data(); } } //----------準考證檢測 function check_zkz(){ getinfo(); var reId=/^[\w\u0391-\uFFE5]+$/; var b_id=reId.test(thisinfo); if(thisinfo!="" && (b_id) && getStrActualLen(thisinfo)>6){ $div(thisname).innerHTML="<img src='images/reg_yesok.gif'/> 正確!"; $div(thisname).className="rig"; flag[4]=1; check_data(); } else{ $div(thisname).innerHTML="<img src='images/reg_yesno.gif'/> 請正確填寫高考準考證號碼!"; $div(thisname).className="err"; flag[4]=0; check_data(); } } //----------報名號檢測 function check_bmh(){ getinfo(); var reId=/^[\w\u0391-\uFFE5]+$/; var b_id=reId.test(thisinfo); if(thisinfo!="" && (b_id) && getStrActualLen(thisinfo)>6){ $div(thisname).innerHTML="<img src='images/reg_yesok.gif'/> 正確!"; $div(thisname).className="rig"; flag[5]=1; check_data(); } else{ $div(thisname).innerHTML="<img src='images/reg_yesno.gif'/> 請正確填寫高考報名號號碼!"; $div(thisname).className="err"; flag[5]=0; check_data(); } } //----------所在省市檢測 function check_cityinfo(){ getinfo(); if(thisinfo!="" && getStrActualLen(thisinfo)<20 && getStrActualLen(thisinfo)>3){ $div(thisname).innerHTML="<img src='images/reg_yesok.gif'/> 正確!"; $div(thisname).className="rig"; flag[6]=1; check_data(); } else{ $div(thisname).innerHTML="<img src='images/reg_yesno.gif'/> 請正確填寫高考所在省市!"; $div(thisname).className="err"; flag[6]=0; check_data(); } } //----------150分檢測 function check_cj(x){ getinfo(); if(thisinfo<151 && thisinfo>=0 && thisinfo!=""){ $div(thisname).innerHTML="<img src='images/reg_yesok.gif'/> 正確!"; $div(thisname).className="rig"; flag[x]=1; check_data(); } else{ $div(thisname).innerHTML="<img src='images/reg_yesno.gif'/> 請正確高考成績!"; $div(thisname).className="err"; flag[x]=0; check_data(); } } //----------300分檢測 function check_l4(){ getinfo(); if(thisinfo<301 && thisinfo>=0 && thisinfo!=""){ $div(thisname).innerHTML="<img src='images/reg_yesok.gif'/> 正確!"; $div(thisname).className="rig"; flag[11]=1; check_data(); } else{ $div(thisname).innerHTML="<img src='images/reg_yesno.gif'/> 請正確高考成績!"; $div(thisname).className="err"; flag[11]=0; check_data(); } } //----------100字節檢測 function check_100(x){ getinfo(); if(getStrActualLen($val(thisname).outerText)<101){ $div(thisname).innerHTML=" 選填項,長度限制為100字節。 "; $div(thisname).className="infos"; } else{ $div(thisname).innerHTML="<img src='images/reg_yesno.gif'/> 內容超長,長度限制為100字節!"; $div(thisname).className="err"; flag[x]=0; alert(flag[12]); check_data(); } } //----------家庭住址檢測 function check_address(){ getinfo(); if(getStrActualLen(thisinfo)>9&&getStrActualLen(thisinfo)<51){ $div(thisname).innerHTML="<img src='images/reg_yesok.gif'/> 正確!"; $div(thisname).className="rig"; flag[13]=1; check_data(); } else{ $div(thisname).innerHTML="<img src='images/reg_yesno.gif'/> 家庭住址錯誤(長度范圍:10-50字節)!"; $div(thisname).className="err"; flag[13]=0; check_data(); } } //----------電話檢測 function check_phone(){ getinfo(); var Tel=/(^[\d]{3,4}-[\d]{7,8}$)|(^[\d]{7,8}$)|(^[\d]{10,12}$)|(^0{0,1}13[0-9]{9}$)/ var b_Tel=Tel.test(thisinfo) if(b_Tel){ $div(thisname).innerHTML="<img src='images/reg_yesok.gif'/> 正確!"; $div(thisname).className="rig"; flag[14]=1; check_data(); } else{ $div(thisname).innerHTML="<img src='images/reg_yesno.gif'/> 電話格式錯誤(010-88888888)!"; $div(thisname).className="err"; flag[14]=0; check_data(); } } //----------手機檢測 function check_tel(){ getinfo(); var Pho=/(^0{0,1}1[3|5][0-9]{9}$)/ var b_Phone=Pho.test(thisinfo) if(b_Phone){ $div(thisname).innerHTML="<img src='images/reg_yesok.gif'/> 正確!"; $div(thisname).className="rig"; flag[15]=1; check_data(); } else{ $div(thisname).innerHTML="<img src='images/reg_yesno.gif'/> 電話格式錯誤(13888888888)!"; $div(thisname).className="err"; flag[15]=0; check_data(); } } //----------密碼檢測 function check_password(obj){ getinfo(); var reChinese=/[\u0391-\uFFE5]+/; var b_chinese=reChinese.test(thisinfo); var reSpace=/\s+/; var b_space=reSpace.test(thisinfo); //-------長度測試 if(thisinfo.length<6&&thisinfo.length>16){ $div(thisname).innerHTML="<img src='images/reg_yesno.gif'/> 密碼長度不能小于6"; $div(thisname).className="err"; flag[16]=0; check_data(); } //-------合法性檢測:不能包含漢字 else if(b_chinese){ $div(thisname).innerHTML="<img src='images/reg_yesno.gif'/> 密碼不能包含中文"; $div(thisname).className="err"; flag[16]=0; check_data(); } //-------合法性檢測:不能包含空格 else if(b_space){ $div(thisname).innerHTML="<img src='images/reg_yesno.gif'/> 密碼不能包含空格"; $div(thisname).className="err"; flag[16]=0; check_data(); } //-------合法時顯示密碼強度 else{ //定義對應的消息提示 var num=getResult(thisinfo); var msg=new Array("<img src='images/reg_bad.gif'/> 密碼強度差","<img src='images/reg_comm.gif'/> 密碼強度一般","<img src='images/reg_good.gif'/> 密碼強度強壯"); $div(thisname).innerHTML=msg[num]; $div(thisname).className="rig"; if($val("password2").value!=""){check_pw();} return flag[16]=1; check_data(); } } //---------密碼一致性檢測 function check_pw(){ var pwd=$val("password1").value.toString(); var check_pwd=$val("password2").value.toString(); if(flag[16]==1){ if(pwd==check_pwd){ $div("password2").innerHTML="<img src='images/reg_yesok.gif'/> 密碼可以使用"; $div("password2").className="err"; flag[7]=1; check_data(); } else{ $div("password2").innerHTML="<img src='images/reg_yesno.gif'/> 兩次密碼不相同"; $div("password2").className="err"; flag[7]=0; check_data(); } } } //定義檢測函數,返回0/1/2分別代表差/一般/強 function getResult(s){ var ls =-1; if (s.match(/[a-z]/ig)){ ls++; } if (s.match(/[0-9]/ig)){ ls++; } if (s.match(/(.[^a-z0-9])/ig)){ ls++; } return ls; } //---------檢查數據,使提交按鈕是否生效 function check_data(){ if(flag[0]==1 && flag[1]==1 && flag[2]==1 && flag[3]==1 && flag[4]==1 && flag[5]==1 && flag[6]==1 && flag[7]==1 && flag[8]==1 && flag[9]==1 && flag[10]==1 && flag[11]==1 && flag[12]==1 && flag[13]==1 && flag[14]==1 && flag[15]==1 && flag[16]==1 && flag[17]==1 && flag[18]==1){ $val("submit").disabled=false;
} else{ $val("submit").disabled=true;
}
} function checkflag() { var sssi; for (i=0;i<=18 ;i++ ) {if (flag[i]==0){sssi+=i+". ";} } alert(sssi);} //--------------------------------------------------------------------
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -