我需要使用正则表达式检查/替换表单字段中的电话号码,它应该非常简单。 我找不到这种格式的解决方案:
“地点编号”
所以:“0521 123456789”
其他任何东西都不应该起作用。没有特殊字符,没有国家等。
只是“0521 123456789”
如果有人能提供解决方案会很好,因为我不是正则表达式(和PHP)的专家。
答案 0 :(得分:3)
您可以使用以下RegEx:
^0[1-9]\d{2}\s\d{9}$
这将与它完全匹配
工作原理:
^ # String Starts with ...
0 # First Digit is 0
[1-9] # Second Digit is from 1 to 9 (i.e. NOT 0)
\d{2} # 2 More Digits
\s # Whitespace (use a [Space] character instead to only allow spaces, and not [Tab]s)
\d{9} # Digit 9 times exactly (123456789)
$ # ... String Ends with
答案 1 :(得分:2)
PHP
代码:
$regex = '~\d{4}\h\d{9}~';
$str = '0521 123456789';
preg_match($regex, $str, $match);
查看 demo on ideone.com 要允许仅此模式(即没有其他字符),您可以将锚定到开头和结尾:
$regex = '~^\d{4}\h\d{9}$~';