首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用PHP在纯文本中查找电话号码模式的正则表达式

使用PHP在纯文本中查找电话号码模式的正则表达式
EN

Stack Overflow用户
提问于 2014-02-26 08:19:33
回答 2查看 972关注 0票数 0

我有一个纯文本,其中包含不同模式的电话号码。我需要在纯文本中找到电话号码模式。我做过这件事

代码语言:javascript
运行
复制
 $regex = '/^(?:1(?:[. -])?)?(?:\((?=\d{3}\)))?([2-9]\d{2})(?:(?<=\(\d{3})\))? ?(?:(?<=\d{3})[.-])?([2-9]\d{2})[. -]?(\d{4})(?: (?i:ext)\.? ?(\d{1,5}))?$/';
 $text = "fhsd hjkh ksd fsd fjkfhdsk 333-445-33333 sdfhjksdh s sdfjksd fdf";
 if(preg_match($regex,$text,$match)){
     print_r($match);
 }else echo "not found";

只有当我们给出电话号码作为输入时,它才能检测到电话号码。它没有检测到纯文本中的电话号码模式。

请帮我这个忙。提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-26 08:21:57

从正则表达式的开头移除^,从正则表达式的末尾移除$

代码语言:javascript
运行
复制
$regex = '/(?:1(?:[. -])?)?(?:\((?=\d{3}\)))?([2-9]\d{2})(?:(?<=\(\d{3})\))? ?(?:(?<=\d{3})[.-])?([2-9]\d{2})[. -]?(\d{4})(?: (?i:ext)\.? ?(\d{1,5}))?/';

您可以阅读更多关于的内容。

UPDATE:作为以连字符分隔的电话号码的正则表达式,分为以下三个部分:

代码语言:javascript
运行
复制
$regex = '/\\d+-\\d+-\\d+/';
票数 3
EN

Stack Overflow用户

发布于 2014-02-26 08:50:20

用这个表达式表示连字符分隔的电话号码。

$regex =‘/d+-d+-d+/’;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22035522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档