【问题标题】:Regex Phone number with dashes带有破折号的正则表达式电话号码
【发布时间】:2015-09-17 13:08:34
【问题描述】:

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

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

我尝试了各种示例,但不确定如何获得一个在乞讨时考虑到可能的 1- 并仍然强制执行 234-567-8901 的示例。

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

^[0-9-]*$
^[\d-]+$
^[\d-]+$

【问题讨论】:

  • 哪种语言?哪个框架?使用现成的解析器

标签: regex


【解决方案1】:

你可以使用:

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

正则表达式详细信息:

  • ^:开始
  • (1-)?:在开头匹配可选的1-
  • \d{3}-\d{3}-\d{4}: 在第 3 位和第 6 位数字后用连字符匹配电话没有 10 位数字的字符串
  • $:结束

【讨论】:

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

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

    【讨论】:

    • 这种只有代码的答案没有帮助。没有说明它所写的语言或系统。没有描述它的作用、工作方式或回答问题的方式。
    猜你喜欢
    • 1970-01-01
    • 2013-04-14
    • 2017-09-23
    • 2014-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多