我需要验证电话号码。它可以是如此
Have + sign at start
+79231112233
Dont have + at start
79231112233
Have spaces
7 9231112233
7 923 1112233
7 923 111 22 33
Have dashes/spaces
7-923-111-22-33
7 923-111-22-33
7 923 111-22-33
Mixed
+7-923-111 22 33
是否可以使用正则表达式?
答案 0 :(得分:2)
是。最简单,最惹人注意,但不完美,正则表达式将是这样的:
^\+?[0-9- ]+$
缺点是它会接受所有破折号或所有空格。
答案 1 :(得分:2)
除了在开始时匹配可选+
并且在数字之间允许空格/连字符之外,电话号码必须具有最小数字#,例如10
根据您给出的示例。
您可以考虑使用此正则表达式来满足上述条件:
\+?(?:\d[ -]?){10,}
(?:\d[ -]?){10,}
强制执行10或数字,后面可选地后跟空格或连字符答案 2 :(得分:1)
\+
与文字+
\+?
添加'?'使其成为可选项,在“' +'不会发生或发生一次
[ -]
匹配单个字符,即空格或' - '。您可以在末尾添加一个问号,使其成为可选项(如上所述)。
\d
匹配一位数(可写为[0-9])
\d{3}
正好匹配三位数
这应该足以让您构建适合您目的的正则表达式。您应该了解有关正则表达式的更多信息,以便了解其缺点。