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

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

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [正则表达式] 的这些文章也感兴趣:

正则表达式在UBB论坛中的应用
深入浅出之正则表达式(二)
正则表达式学习笔记(1) 行的开始和结束、字符组、连字符、脱字符、用"."去匹配任意字符
正则表达式
C#正则表达式应用范例
深入浅出之正则表达式(一)
几个常用的用正则表达式验证字符串的函数
两个分析HTML网页的方法
程序员必须掌握的基本正则表达式
最专业的正则表达式网站regexlib.com使用说明