这里我尝试编写一个正则表达式来验证手机没有我自己的意义。 代码如下
$hai = "+458745555---55";
if (!preg_match("/^[\+]{0,1}[0-9\s(\-){0,2}]{6,15}$/", $hai)) {
$valPhone = "Invalid phone number";
} else {
$valPhone = "Valid phone number";
}
echo $valPhone;
规则:
1.可能会来#+;'在字符串前面签名
2.只有数字, - ,剩余空间, - 应介于0-2之间
3.最大字符串长度,不包括' +'将是6-15
4.我们无法添加剩余字符串的空格开头和结尾,不包括' +'签字如果找到了
但是' - '对我来说效果不错。非常感谢任何帮助..
答案 0 :(得分:2)
这个正则表达式完成了工作:
(?=^\+?[^+]{6,15}$)(?!(?:.*-.*){3,})^\+?\d[\d -]+\d$
详细说明:
(?=^\+?[^+]{6,15}$)
整个字符串的长度为6到15个字符,+
是可选的; (?!(?:.*-.*){3,})
不能超过2 -
; ^\+?\d[\d -]+\d$
字符串只包含数字,空格和-
请参阅demo