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

2009年5月11日星期一

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






<!-- 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语法就是用正则表达式的替换做成的。

0 评论:

发表评论