php完美匹配邮箱、链接地址和电话号码

这段PHP代码展示了如何使用正则表达式匹配电子邮件地址、URL链接和电话号码。它可以检测字符串中的全部URL,包括链接内容,并能匹配各种格式的电话号码,如139开头的手机号和座机号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2012/01/31日 更新:

匹配手机以及电话号码 重新修改,可支持18开头的手机号,并修改bug,可匹配出字符串中所有匹配号码!

经过多次测试,以下代码可以实现邮箱、链接地址和电话号码的匹配

 

匹配全部url地址和链接内容

====================

$str = "<a href='http://www.baidu.com' target='_blank'>百度</a>http://www<a href='http://www.sina.com' target='_blank'>新浪</a>kod";

preg_match_all("/<a href=([\"\'])(http:\/\/([\w\d\.])+)[^>]*>(.*?)<\/a>/i", $str, $matches);

echo "<pre>";
var_dump($matches[2]);
echo "<br />";
var_dump($matches[4]);

 

匹配邮箱

====================

$emails = "wangzhanu@126.comha12wangzhanu@163.com";

preg_match_all("/([a-z0-9_\-\.]+)@(([a-z0-9]+[_\-]?)\.)+[a-z]{2,3}/i", $emails, $matches);

var_dump($matches[0]);

 

匹配手机以及电话号码

====================

$tel = "13911112222sf010-44444442dfg18811112222";

preg_match_all("/1[3,5,8]{1}[0-9]{1}[0-9]{8}|0[0-9]{2,3}-[0-9]{7,8}(-[0-9]{1,4})?/", $tel, $matches);

var_dump($matches);

 

请放心测试,有问题请大家留言

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值