PHP只删除文本中的电话号码

时间:2016-02-20 17:56:22

标签: php regex

这是一个包含数字和电话号码的示例文本/字符串:

  哦,天哪,我今天有1000件事要做,我想读完   1954年,海底有20,000个联盟,但是嘿,我会在那里见到你   从下午4点到8点我的电池是374-7657654,或者你可以给我打电话   (374)-334-5674然后我可以从16:30到19:45(在欧洲   时间!)

如何删除/检测电话号码(以任何格式编写,因为我无法预见用户会如何编写它们?

我试过

(\(?+[0-9]{3,15}+[\- ]?+[0-9]?+\)?+)

但它剥夺了时间或书名/年等

2 个答案:

答案 0 :(得分:4)

这是正则表达式:

1?\W*([2-9][0-8][0-9])\W*([2-9][0-9]{2})\W*([0-9]{4})(\se?x?t?(\d*))?

preg_match("1?\W*([2-9][0-8][0-9])\W*([2-9][0-9]{2})\W*([0-9]{4})(\se?x?t?(\d*))?", "", $text);

$text是您要验证的文字。

归功于个人,回答this question

答案 1 :(得分:0)

虽然你已经有了答案,但为什么不提出更容易的事情:

if (!Character.isDigit(str.charAt(f5)))

请参阅a demo here on regex101.com