【问题标题】:javascript regular expression phone number validationjavascript正则表达式电话号码验证
【发布时间】:2011-10-18 14:12:31
【问题描述】:

我想测试是否在文本字段中输入了正确的电话号码。 电话号码应该是 ddd-ddddddd,这意味着 3 位数字必须有“-”,然后是 7 位数字。 如何为此设置正则表达式? 谢谢:)

【问题讨论】:

  • 我讨厌需要这种精确格式的网站。单独扫描数字然后根据需要添加破折号非常容易。 /咆哮
  • 要求的格式不一样。
  • 我讨厌需要仅适用于一个国家/地区的精确格式的网站。 (除非他们在首页上明确表示他们只与那个国家的居民打交道,即使那样 - 为什么?)/rant

标签: javascript


【解决方案1】:

正如你所说/^\d\d\d-\d\d\d\d\d\d\d$/

【讨论】:

  • 连字符前多了一个\d。我建议你改用{n},因为它不太容易出错。
  • 已更正,谢谢,我使用了这种方法,因为它看起来非常接近提问者自己表示格式的方式。
  • @nobody,你的把戏没有奏效。 var phoneNumberPatteern = /^\d\d\d-\d\d\d\d\d\d\d$/; if (phoneNumberPattern.test(phone) == false)
  • @nobody,我明白你的意思,这可能是一个好主意(如果提问者理解得最好,你的答案可能会被接受)。但是,问题的限制不一定会导致答案的限制:重复 \d 不会扩展,如果提问者不知道,在你的回答中做同样的事情不会教给他任何东西。
  • @AlonB 我刚刚在 Firefox 中测试了这段代码:var phoneNumberPattern = /^\d\d\d-\d\d\d\d\d\d\d$/; alert( phoneNumberPattern.test('555-7777777') ); result: true
【解决方案2】:
/^\d{3}-\d{7}$/.test( phone_number );

【讨论】:

  • 不起作用,我可以设置它吗 var patt = /^\d{3}-\d{7}$/;然后做 patt.test(phonenumber)?
【解决方案3】:

这是我的看法:

/^[0-9]{3}\-[0-9]{7}$/

【讨论】:

    【解决方案4】:
    var phoneNumber = '123-1234567';
    if(phoneNumber.match(/^\d{3}-\d{7}$/))
    {
       alert('blah');
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-25
      • 2012-02-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多