【发布时间】:2016-11-07 04:45:09
【问题描述】:
我正在尝试从字符串中提取仅限美国的电话号码。
我浏览了网络/SO,但没有找到任何适合我需要的解决方案。
说实话,我有 2.5 年的 Web 编程经验,但我在 RegEX 方面很烂。
这里只是我写的正则表达式(\d{3}+\-\d{3}+\-\d{4}+)
但它只检测到589-845-2889
这是我要提取的电话号码。
589-845-2889
(589)-845-2889
589.845.2889
589 845 2889
5898452889
(589) 845 2889
请告诉我如何在 PHP 的单个 Regex 中实现这一壮举。
编辑:
如果您觉得用户可以输入任何其他格式的美国号码,请同时提及,并将其包含在 RegEX 中。
附注:
实际上,我正在尝试抓取 Craiglist,用户可能已经以任何可能的格式发布了他们的电话号码。
【问题讨论】:
-
589 845-2889应该匹配吗? -
是的,用户可以通过任何可能的方式输入他的号码