【问题标题】:Validate an Irish mobile phone number验证爱尔兰手机号码
【发布时间】:2015-10-11 05:45:03
【问题描述】:

我想验证 xxx-xxxxxxx 格式的爱尔兰手机号码。 前三位应为 083、086、087 或 089。接下来的七位应为整数。

我尝试使用这种 HTML5 验证模式:

<input type="text" id="phone_no" name="owner[phone]" value="" pattern="([0]{1}[8]{1}[3|6|7|9]{1}[0-9]{7})">

代码不工作。如何验证这些信息?

【问题讨论】:

标签: regex html validation


【解决方案1】:

您放在方括号中的任何内容都会转换为“这些字符中的任何一个”。

所以1[abcde]21(a|b|c|d|e)2 相同

此外,默认情况下,单个字母的大小为 1。所以[x]{1}x 是一样的。

[0-9]是一个数字,可以表示为\d

试试这个正则表达式,它更容易理解:

08[3679]-\d{7}

【讨论】:

    【解决方案2】:

    相当老的帖子,但这可能会帮助仍在寻找此内容的任何人

    /^\s*((\(?(0)\s?8[35679]\)?\s?\d{3}\s?\d{4}))\s*$/
    

    【讨论】:

      【解决方案3】:

      抱歉修改了这个

      function is_phone_number($PhoneNumber)
      {
          $formats = array
          (
              '### ## # ### ###', //+265 12 3 456 789
              '############', //265123456789
              '##########', //123456789
              '### # ### ###' //012 3 456 789
          );
          $format = trim(preg_replace('/[0-9]/', '#', $PhoneNumber));
          return (in_array($format, $formats)) ? true : false;
      } 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-26
        • 2013-04-14
        • 2017-02-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多