包含if-else表达式的商务手机正则表达式

时间:2014-03-12 08:17:25

标签: javascript regex

我正在尝试用javascript编写商业电话号码正则表达式,我的要求是:

  • 它应该只包含数字,短划线和空格
  • 它不应以-结尾,但可以以空格结尾
  • 两组之间应该只有-
  • 它应与- 1123678-78
  • 123--匹配?

我试过跟随正则表达式,但/^([ ]*[0-9]+[-]?[0-9 ]*?([-])[ ]*[0-9]+[ ]*|[0-9 ]*[ ]*)+$/.test('123--2') 失败,因为它无效任何人请建议我

{{1}}

2 个答案:

答案 0 :(得分:0)

试试这个

/^[0-9]+(-[0-9\s]+)*$/

答案 1 :(得分:0)

我不知道您是否还需要答案,但这符合您的要求:

/^(?!.+-\s*$)\s*((?:\d+\s*-?\s*)+)$/

说明:

  • ^字符串开头
  • (?!.+-\s*$)在字符串末尾不允许-(或-后跟空格)
  • \s*可选的前导空格
  • (开始捕获
  • (?:\d+\s*-?\s*)+以下一组或多组:
    • 一个或多个数字,
    • 可能后面跟着空格,
    • 可能后跟一个连字符,
    • 可能后面跟着更多的空格
  • )停止捕获
  • $字符串结尾

Demo