我正在尝试使用 PHP 中的 preg_match 匹配电话号码格式,但我无法取得成功。
我尝试匹配的电话号码格式是:
+92XXXXXXXXXX
前三个字符应为 +92,其余字符的计数应为 10,并且应为 0 到 9 之间的数字。这是我正在尝试但无法匹配的:
preg_match('/^[+92]{3}[0-9]{10}$/',$phone_number) )
有什么建议吗?
谢谢。
您可以尝试使用:
^('+92'd{10})$
^[+92]{3}[0-9]{10}$
的问题出在[+92]
.你正在做的是说匹配+,9,2
三次。因此,这包括+++
、999
、299
、29+
等情况。
要更正模式,请将[+92]{3}
更改为 '+92
。因此,它将是:
^'+92[0-9]{10}$
您的模式有效,机器人不适用于文字+92XXXXXXXXXX
- 用数字代替它的工作原理X
。但是,如果它始终以 +92 开头,请将模式更改为:
^'+92[0-9]{10}$
https://regex101.com/r/nG6wI1/1