指引网

当前位置: 主页 > 编程开发 > ASP >

正则表达式在网络编程中的运用(3)

来源:网络 作者:佚名 点击: 时间:2017-06-22 20:27
[摘要] 应用实例 在对正则表达式有了较为全面的了解之后,就可以在Perl,PHP,以及ASP等程式中使用正则表达式了。 下面以PHP语言为例,使用验证用户在线输入的邮件地址以及网址的格式是否
  应用实例
  在对正则表达式有了较为全面的了解之后,就可以在Perl,PHP,以及ASP等程式中使用正则表达式了。
  下面以PHP语言为例,使用验证用户在线输入的邮件地址以及网址的格式是否正确。PHP 提供了eregi()或ereg()资料处理函数实现字串比对剖析的模式匹配操作ereg()函数的使用格式如下:
      ereg (pattern, string)
  其中,pattern代表正则表达式的模式;而string则是执行查找替换操作的目标对象,如Email地址值。本函式以 pattern 的规则来剖析比对字串 string,找到则传回值为 true。函式ereg()与eregi()的区别就是前者区分大小写,后者与大小写无关。使用PHP编写的程序代码如下:
     <?php
   if (ereg("^([a-z0-9_-])+@([a-zZ0-9_-])+(.[a-z0-9_-])+[a-z]{2,3}$",$email))
   { echo "您的 E-Mail 通过初步检查!";}
   else
   { echo "不是合法的E-Mail 地址,请重新输入!";}
   ?>

  这个例子是可对使用者输入的 E-Mail 作简单的检查,检查使用者的 E-Mail 字串是否有 @ 字元,在 @ 字元前有小写英文字母、数字或下"_",在 @ 之后有数节字串,最后的小数点后只能有二个或三个小写英文字母。如webmaster@mail.sever.net, hello_2001@88new.cn就可以通过检查,而New99@253.com(出现大写字母)和new99@253.comn(最后的小数点后只能超过3个英文字母)就不能通过检查。
  我们通过调用自定义正规则判别函式也可以进行检查操作,如下面的网址检验函式:
function VerifyWebSiteAddr ($strWebSiteAddr){
return (eregi ("^([_0-9a-z-]+.)+([0-9a-z-]+.)+[a-z]{2,3}$", $strWebSiteAddr));
}
  我们知道,PHP程式的运行必须有服务器支持,如果您在自己的主页上想实现以上功能, 嵌入式脚本语言Javascript或许是好的选择。JavaScript中带有一个功能强大的RegExp()对象,可以用来进行正则表达式的匹配操作。其中的test()方法可以检验目标对象中是否包含匹配模式,并相应的返回true或false。只须在HTML文档的<head>区域添加一段Javascript代码。
< language="Javascript1.2">
  function verifyAddress(obj){
   var email = obj.email.value;
   var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
------分隔线----------------------------