[收藏]几个常用的用正则表达式验证字符串的函数


<!-- 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语法就是用正则表达式的替换做成的。
posted on 2009-05-11 10:10  念时  阅读(298)  评论(0编辑  收藏  举报

细节决定成败!态度决定一切!