正则表达式 - 简单的 phone 数字验证
Regex - simple phone number validation
我需要用正则表达式检查/替换表单字段中的 Phone 数字,这应该很简单。
我找不到这种格式的解决方案:
"place number"
所以:“0521 123456789”
其他任何方法都不起作用。没有特殊字符,没有国家等
只是“0521 123456789”
如果有人能提供解决方案那就太好了,因为我不是正则表达式专家(和 PHP)。
您可以使用以下正则表达式:
^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
PHP
代码:
$regex = '~\d{4}\h\d{9}~';
$str = '0521 123456789';
preg_match($regex, $str, $match);
看到一个demo on ideone.com.
要允许 仅 这种模式(即没有其他字符),您可以 anchor 它到开头和结尾:
$regex = '~^\d{4}\h\d{9}$~';
我需要用正则表达式检查/替换表单字段中的 Phone 数字,这应该很简单。 我找不到这种格式的解决方案:
"place number"
所以:“0521 123456789”
其他任何方法都不起作用。没有特殊字符,没有国家等
只是“0521 123456789”
如果有人能提供解决方案那就太好了,因为我不是正则表达式专家(和 PHP)。
您可以使用以下正则表达式:
^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
PHP
代码:
$regex = '~\d{4}\h\d{9}~';
$str = '0521 123456789';
preg_match($regex, $str, $match);
看到一个demo on ideone.com.
要允许 仅 这种模式(即没有其他字符),您可以 anchor 它到开头和结尾:
$regex = '~^\d{4}\h\d{9}$~';