我有一个变量,它只允许数字、破折号和括号,电话号码没有特定的长度,并且验证必须在 php 中完成,不允许使用 javascript,
编辑 只是想在正则表达式中也允许空格....
谢谢
我有一个变量,它只允许数字、破折号和括号,电话号码没有特定的长度,并且验证必须在 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
}
这将只允许带有可选国家代码的美式编号。请参阅此ReFiddle Link以获得更详尽的匹配号码列表,这将允许。