首页 > 编程地带 > php-正则表达式

php-正则表达式

2007年10月24日 发表评论 阅读评论

正则表达式是一种可以 用于模式匹配的强大工具。简单的说,正则表达式就是一套规则,用于判定其他的元素是否符合它。

一、 验证邮箱地址:
  如果不用正则表达式,而用字符串处理函数的话,代码是这样的:

<br /><?php<br />function validate_email1($email)<br />{<br />    $hasatsymbol=strpos($email,"@");<br />    $hasdot=strpos($email,".");<br />    if ($hasatsymbol && $hasdot && $hasatsymbol<$hasdot )<br />        return 1;<br />    else <br />        return 0;<br />}<br />echo validate_email1($_POST&#91;"EMAIL"&#93;);<br />?>

而如果用正则表达式的话,就可以这样写:

<br /><?php<br />function validate_email2($email)<br />{<br />    return (int)ereg("^&#91;a-zA-Z&#93;+@&#91;a-zA-Z&#93;+&#92;.&#91;a-zA-Z&#93;+$",$email);<br />}<br />echo validate_email2($_POST&#91;"EMAIL"&#93;);<br />?>

二、验证URL:

一个合法的URL如:http://www.woyigui.cn。其他构造规则为:[协议]://[www].[域名].[com|net|org|cn|….].
那么我们可以这样构造:

<br /><?php<br />function isvaliddomain($domainname)<br />{<br />   return (int)ereg("^(http&#124;ftp)://(www&#92;.)?.+&#92;.(com&#124;net&#124;org&#124;cn)$",$domainname);<br />}<br />echo isvaliddomain($_POST&#91;"net"&#93;);<br />?>

三、验证电话号码:

构造规则为:[+86][区号][八位数字]。

可以如下构造:

<br /><?php<br />function isvalidphone($phonenum)<br />{<br />   echo (int)ereg("^&#92;+86&#91;&#91;:space:&#93;&#93;0371&#91;0-9&#93;{8}$",$phonenum);<br />}<br />echo isvalidphone($_POST&#91;"PHONE"&#93;);<br />?><br />

转载请注明:woyigui's blog [http://www.woyigui.cn/]
本文标题:php-正则表达式
本文地址:http://www.woyigui.cn/2007/10/24/php%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/

分类: 编程地带 标签: ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
*