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