>我有一个变量,它只允许数字、破折号和括号,电话号码没有特定的长度,并且验证必须在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
}
这将仅允许带有可选国家/地区代码的美国样式数字。