在 php 中使用正则表达式来检查电话号码


Using Regular Expression in Php in case of checking phone number

>我有一个变量,它只允许数字、破折号和括号,电话号码没有特定的长度,并且验证必须在php中完成,不允许使用javascript,

编辑只是想为正则表达式也留出空格....

谢谢

所以,我对这里的问题有点困惑,但我会试一试,希望它能让你到达你需要的地方。

这将允许包含指定字符的任何内容。 (303)123-4567将被允许。32084248())(21324234--234242-23-也会(显然不是电话号码)

if( preg_match("/^[0-9() -]+$/", $number) {
    // Only numbers, parens and hypens allowed
}

如果你想让正则表达式更严格一点,我们可以限制为美式数字:

if( preg_match("/^'d{0,3}-?(?:'('d{3}')|'d{3})-?'d{3}-?'d{4}$/", $number) {
    // US Phone number
}

这将仅允许带有可选国家/地区代码的美国样式数字。