Javascript中常見的校正如:驗證一般網域名稱校正,手機校正,郵箱校正,身份證校正等等,下面是具體的實現,感興趣的朋友可以參考下
代碼如下:<script type="text/javascript"> //驗證一般網域名稱校正 function checkNetURL(){ var netURL = document.getElementById("netURL"); //驗證一般的網域名稱 比如說 www.baidu.com var regStr="^([a-zA-Z0-9-]+.){1,}(com|net|edu|miz|biz|cn|cc)$"; var re=new RegExp(regStr); //建立Regex對象 //var re=/^([a-zA-Z0-9-]+.){1,}(com|net|edu|miz|biz|cn|cc)$/; if(!re.exec(netURL.value)){ //驗證輸入的字串是否符合規則 alert("您輸入的網站URL地址有誤!正確格式如 mail.brookes.com"); netURL.focus(); return; } } //手機校正 function iphoneRegExp(){ var iphone= document.getElementById("iphone").value; var regStr="^((13[0-9])|(14[0-9])|(15[^4,D])|(18[0-9]))d{8}$"; var re=new RegExp(regStr); if(!re.test(iphone)){ alert("規格錯誤,正確格式如152636363**(或以13,14,18開頭的手機號碼)"); } } //郵箱校正 (還有點bug) /*function emailRegExp(){ var email= document.getElementById("email").value; var regStr="^([a-zA-Z0-9u4E00-u9FA5]*[-_]?[a-zA-Z0-9]){1,}+@([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)+[.][A-Za-z]{2,3}([.][A-Za-z]{2})?$"; var re=new RegExp(regStr); if(!re.test(email)){ alert("規格錯誤,正確格式如152636363**(或以13,14,18開頭的手機號碼)"); //iphone.focus(); } }*/ //身份證校正 function cardRegExp(){ var card= document.getElementById("card").value; var regStr="(^d{15}$)|(^d{18}$)|(^d{17}(d|X|x)$)"; var re=new RegExp(regStr); if(!re.test(card)){ alert("輸入不合法,正確格式為:4101821897020356**"); } } //港澳省份證 function gangAocardRegExp(){ var card= document.getElementById("card").value; var regStr="[A-Z]{1,2}[0-9]{6}[(]{1}[A-Z0-9]{1}[)]{1}"; var re=new RegExp(regStr); if(!re.test(card)){ alert("港澳居民身份證輸入不合法!正確格式如:A15263*(E)"); } } //殘疾證 function canJicardRegExp(){ var card= document.getElementById("card").value; var regStr="(^d{22}$)|(^d{20}$)"; var re=new RegExp(regStr); if(!re.test(card)){ alert("殘疾證輸入不合法!"); } } //郵遞區號 function postCardRegExp(){ var postCard= document.getElementById("postCard").value; var regStr="^[0-9]{6}$"; var re=new RegExp(regStr); if(!re.test(postCard)){ alert("輸入不合法!正確格式如4500!"); } } //傳真與固定電話校正 function telRegExp(){ var tel= document.getElementById("tel").value; var regStr="((^d{11}$)|(^d{12}$))|(^d{3}-d{8}$)|(^d{4}-d{7}$)|(^d{4}-d{8}$)"; var re=new RegExp(regStr); if(!re.test(tel)){ alert("書寫格式錯誤!正確格式如 0511-44052** 或 021-878888**"); } } //使用者名稱校正,規則如下: //匹配帳號是否合法(字母開頭,允許5-16位元組,允許字母數字底線 function userNameRegExp(){ var userName= document.getElementById("userName").value; var regStr="^[a-zA-Z][a-zA-Z0-9_]{3,15}$"; var re=new RegExp(regStr); if(!re.test(userName)){ alert("必須以字母開頭,後面跟4-15位元字,字母或底線!"); } } //校正整數 function numRegExp(){ var num= document.getElementById("num").value; var regStr="^[0-9]*[1-9][0-9]*$"; var re=new RegExp(regStr); if(!re.test(num)){ alert("填寫格式錯誤,正確格式如:8080"); } } //校正小數 或者整數 function numFontRegExp(){ var num= document.getElementById("num").value; var regStr="^(([0]{1,})|([0-9]{1,})[.]{1}[0-9]{1,})|[0-9]{1,}$"; var re=new RegExp(regStr); if(!re.test(num)){ alert("填寫格式錯誤,正確格式為12.3"); } } //驗證特殊字元^[^%$&@]{1,}$ function strRegExp(){ var str= document.getElementById("str").value; var regStr="^[^%$&@]{1,}$"; var re=new RegExp(regStr); if(!re.test(str)){ alert("不能包含特殊字元"); } } //驗證真實姓名 function nameRegExp(){ var name= document.getElementById("name").value; var regStr="((^[a-zA-Z]{1}([a-zA-Z_]){2,20})|(^[u4E00-u9FA5]{1}+[a-zA-Z0-9u4E00-u9FA5]{1,14}))$"; var re=new RegExp(regStr); if(!re.test(name)){ alert("應為2-15個漢字或3-21個英文字母"); } } ////驗證護照 function huzhoaRegExp(){ var huzhao= document.getElementById("huzhao").value; var regStr="^((14)|(15)[0-9]{7})|(G|S|D[0-9]{8})|((P.)|(S.)[0-9]{7})$"; var re=new RegExp(regStr); if(!re.test(huzhao)){ alert("護照輸入不合法,正確格式如:G00106556"); } } //軍官證 function junGuanRegExp(){ var junguan= document.getElementById("junguan").value; var regStr="^[u4E00-u9FA5]{1}d{7}$"; var re=new RegExp(regStr); if(!re.test(junguan)){ alert("輸入不合法!正確格式如:海6042**"); } } //文職幹部校正 function junGuanRegExp(){ var wenzhi= document.getElementById("wenzhi").value; var regStr="^[u4E00-u9FA5]{1}文d{4,12}$"; var re=new RegExp(regStr); if(!re.test(wenzhi)){ alert("文職幹部證輸入不合法!正確格式如:廣文0816**"); } } //士兵證 function shiBingRegExp(){ var shibing= document.getElementById("shibing").value; var regStr="^[u4E00-u9FA5]{1,3}d{4,12}$"; var re=new RegExp(regStr); if(!re.test(shibing)){ alert("士兵證輸入不合法!正確格式如:鄂176340**"); } } //手機和固定電話校正 function iphoneTelRegExp(){ var iphoneTel= document.getElementById("iphoneTel").value; var regStr="(((^d{11}$)|(^d{12}$))|(^d{3}-d{8}$)|(^d{4}-d{7}$)|(^d{4}-d{8}$))|(^((13[0-9])|(14[0-9])|(15[^4,D])|(18[0-9]))d{8}$)$"; var re=new RegExp(regStr); if(!re.test(iphoneTel)){ alert("電話號碼書寫錯誤,不符合電話號碼規格(如 0511-4405xxx 或 15236565xxx),請重新填寫"); } } </script>