我正在尝试使用RegEx验证批注在ASP.Net MVC应用程序中验证电话号码。
除了允许的字符和最大-最小长度之外,我想在文本中的任何地方最多允许2个空格。我已经尝试了以下RegEx,但无法正常工作。
^(\+)?(\d|\s{0,2}|-|\(|\)){8,16}$
如果我在不验证空格数的情况下删除{0,2},效果很好。
我尝试了不同的组合,但是没有运气。
更新
“ 1234 5 6”应该有效,但“ 123 4 5 6”应该无效。
答案 0 :(得分:1)
您可以考虑以下模式:
xspline(c(x,y), shape=1, border='blue' )
请参见regex demo。
详细信息
^(?!(?:\S*\s){3})(?=.{8,16}$)\+?[\d\s()-]+$
-字符串的开头^
-不允许有3个或更多空白字符,不得包含任何非空白字符。(?!(?:\S*\s){3})
-字符串长度必须为8到16(没有换行符,或者将(?=.{8,16}$)
替换为.
)[\s\S]
-可选的\+?
+
-1个或多个数字,空格,[\d\s()-]+
,(
,)
-
-字符串的结尾。