PHP正则匹配邮件地址、URL
匹配邮件
#^[A-Za-z0-9]+[\w\.-]*@[A-Za-z0-9]+[A-Za-z0-9\.-]*[A-Za-z0-9]$#
注意
1. \w 表示的是 [A-Za-z0-9_] 包括下划线
2. 邮件@后的域名不能含有下划线 _ 但是可以有-
<?php $email = 'sailrancho@qq_mail.com'; function isEmail($email) { $preg = '#^[A-Za-z0-9]+[A-Za-z0-9\.-_]*@[A-Za-z0-9]+[A-Za-z0-9\.-]*[A-Za-z0-9]$#'; return preg_match($preg, $email); } var_dump(isEmail($email));
匹配url
<?php $preg = '#(http://|https://)[\w]+\.[0-9a-zA-Z]+[\w\.]+#'; $content = 'asdfsdfsdfsdfasdhttp://www.baidu.com'; print preg_match($preg,$content,$match_arr); print_r($match_arr);
匹配url中的后缀名
<?php $url = "http://www.baidu.com/index.php?a=sadfasdf"; $preg = '#\.([a-zA-z0-9]+)\?#'; preg_match($preg, $url, $match_arr); print_r($match_arr);