拼吾爱程序人生

首页 » 其他编程 » RegExp » 几个常用的用正则表达式验证字符串的函数
Systemjudge - 2007-8-4 8:09:00
<!-- 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语法就是用正则表达式的替换做成的。

 您可能对 [RegExp] 的这些文章也感兴趣:

深入浅出之正则表达式(二)
最专业的正则表达式网站regexlib.com使用说明
C#正则表达式应用范例
正则表达式使用详解及实例
正则表达式
正则式中的实用命名组替换
实用正则表达式收集
用正则表达式解析C#文件
几个常用的用正则表达式验证字符串的函数
正则表达式在UBB论坛中的应用
1
查看完整版本: 几个常用的用正则表达式验证字符串的函数
Modify by pin5i DZNT_ExpandPackage 2.1.3237 2007-2008 pin5i.com