带破折号的正则表达式电话号码

Regex Phone number with dashes

我正在尝试获得一个将验证以下格式的正则表达式:

1
2
234-567-8901
1-234-567-8901

我已经尝试了各种各样的例子,但不知道如何得到一个将考虑可能的1-在乞讨和仍然有效的234-567-8901。

规则是,任何数字,2或3个破折号,如果3个破折号然后是11个数字,如果2个破折号则是10个数字。

1
2
3
^[0-9-]*$
^[\d-]+$
^[\d-]+$


您可以使用:

1
^(1-)?\d{3}-\d{3}-\d{4}$

1
2
3
4
5
 telephone: function (val, field) {
    return /^(\d{3}[-]?){1,2}(\d{4})$/.test(val);
},
telephoneText:"Invalid phone number",
telephoneMask: /[\d-]/

查看https://regex101.com/以测试您的正则表达式。