用户可以填写电话号码 . (只有数字和破折号,破折号不是强制性的)
他可以拥有尽可能多的(中间)破折号( -
),但总数字数必须为10 .
I've managed使用 "-"
的正向前瞻编写正则表达式:
^(?=.*\-)[0-9\-]+$
但我有两个问题:
-
短划线(在我的正则表达式中)也可以在开头和结尾,这是 not valid .
-
我没有成功应用10位数限制 .
附: valid 示例的示例:
050-6783828
050-678-38-28
0506783828
not 有效:
-0506783826
0506783826-
050678--3826
请注意这个问题被标记为正则表达式 . 我不是在寻找js(非正则表达式)解决方案 .
2 回答
我想你想要这样的东西:
以数字开头 .
9次:可选短划线和另一位数字 .
工作示例:http://rubular.com/r/CrgTOrXC8E
开头和结尾的数字,8组可选的短划线和数字,以及前一个数字前的可选短划线
在eatch相邻数字之间只允许一个破折号 .