PHP中电话号码格式的检测
我想从大约10000个字符串中提取电话号码,其中一些电话号码格式如下:PHP中电话号码格式的检测,php,regex,Php,Regex,我想从大约10000个字符串中提取电话号码,其中一些电话号码格式如下: 08978803929 085282486601 081284671191 +6285722345678 模式如下所示,要么是从08开始的连续数字串,要么是11位,要么是12位。它前面还可以有+62的区号。如何在PHP中使用正则表达式提取所有这些字符串 为了使它更简单,我想检测以08或+62或仅62开头的字符串。您可以使用以下正则表达式: ^(\+?62|08)[0-9]{9,11}$ 说明: - ^ and $
08978803929
085282486601
081284671191
+6285722345678
模式如下所示,要么是从08开始的连续数字串,要么是11位,要么是12位。它前面还可以有+62的区号。如何在PHP中使用正则表达式提取所有这些字符串
为了使它更简单,我想检测以08或+62或仅62开头的字符串。您可以使用以下正则表达式:
^(\+?62|08)[0-9]{9,11}$
说明:
- ^ and $ - Line start and Line end
- (\+?62|08) - starting with 62 OR +61 OR 08
[0-9]{9,11} - match 9 to 11 digits
只是说,电话号码中的
+
字符可以替换为00
。你也是这样吗?@STTLCU不,那不是真的这会有帮助:{9,11}在结尾是什么意思?@adit min.9和max.11,或者介于9和11之间;-)它的字符串长度从0开始。@adit:为我的答案添加了一些解释。@anubhava我尝试了以下方法,但它给了我一个错误$匹配=数组();preg_match(“^(+62|08)[0-9]{9,11}$”,$string,$matches);