[收藏]幾個(gè)常用的用正則表達(dá)式驗(yàn)證字符串的函數(shù)
<!-- name,phone,age,money checked--> <script language=javascript runat=server> isName = /^[A-Za-z\-]+$/; //這個(gè)是表明輸入的名字只能是字母和連字符組成 isPhone = /^(\+\d+ )?(\(\d+\) )?[\d ]+$/; //這個(gè)是國(guó)際通用的電話號(hào)碼判斷 isAge = /^(1[0-2]\d|\d{1,2})$/; //這個(gè)是年齡的判斷 isMoney = /^\d+\.\d{2}$/; //這個(gè)是判斷輸入的是否為貨幣值 </script> <!-- Email地址有效性驗(yàn)證函數(shù)--> <script language=javascript runat=server> function isEmail(src) { return (isEmail1.test(src) && isEmail2.test(src)); } isEmail1 = /^\w+([\.\-]\w+)*\@\w+([\.\-]\w+)*\.\w+$/; isEmail2 = /^.*@[^_]*$/; </script> <!-- IP地址有效性驗(yàn)證函數(shù)--> <script language=javascript runat=server> ip_ip = '(25[0-5]|2[0-4]\\d|1\\d\\d|\\d\\d|\\d)'; ip_ipdot = ip + '\\.'; isIPaddress = new RegExp('^'+ip_ipdot+ip_ipdot+ipdot+ip_ip+'$'); </script> <!-- password有效性驗(yàn)證函數(shù)--> <script language=javascript runat=server> function TestPwd(src) { var sxf,regex; sxf='^[\\w]{6,12}$'; regex=new RegExp(sxf); return regex.test(src); } </script> <!--ZipCode check function--> <script language=javascript runat=server> function TestZipCode(src) { var ZipCode,regex; ZipCode="^[\\d]{6}$" regex=new RegExp(ZipCode); return regex.test(src); } </script> <!--驗(yàn)證用戶(hù)輸入身份證號(hào)的合法性--> <script language=javascript runat=server> isIdCorrect1=/^\d{15}$/; isIdCorrect2=/^\d{18}$/; function isIdCorrect(src) { return(isIdCorrect1.test(src)&&isIdCorrect2.test(src)); } </script>
應(yīng)用也很簡(jiǎn)單,以上函數(shù)均是應(yīng)用在服務(wù)器端,若用在客戶(hù)端需要把runat=server去掉。我舉兩個(gè)例子:
IF isIPaddress.test(str)=false THEN
Response.Write"IP 地址錯(cuò)誤,請(qǐng)重新輸入。"
Response.End
END IF
IF TestPwd(str)=false THEN
Response.Write"密碼錯(cuò)誤,請(qǐng)重新輸入。"
Response.End
END IF
事實(shí)上你只要熟練掌握正則表達(dá)式的應(yīng)用,對(duì)于判斷字符串輸入的正確性那簡(jiǎn)直是小菜一碟。正則表達(dá)式還能用于字符串替換,ubb語(yǔ)法就是用正則表達(dá)式的替換做成的。
收藏自:http://www.netop.cc/doc.asp?cg=37&did=23
posted on 2005-06-17 12:08 Yexiong 閱讀(967) 評(píng)論(0) 編輯 收藏 所屬分類(lèi): 基礎(chǔ)類(lèi)