Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中电话号码格式的检测_Php_Regex - Fatal编程技术网

PHP中电话号码格式的检测

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 $

我想从大约10000个字符串中提取电话号码,其中一些电话号码格式如下:

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);