PAK电话号码格式的HTML5模式

时间:2014-07-14 10:23:50

标签: javascript regex html5

我正在尝试为巴基斯坦电话号码格式制作一个html5模式,如下所示:

03xx-xxxxxxx

x代表一个数字。现在我已经开发了这个正则表达式:

/03[0-9]{2}-[0-9]{7}/

我现在要做的是确保连字符后面的后7位数字:

  1. 1111111
  2. 不同的数字
  3. 不是像1234567
  4. 那样连续
  5. 不是像7654321
  6. 那样的反向方式

    我不知道如何将这些检查放在正则表达式中。我怎么能这样做?

3 个答案:

答案 0 :(得分:3)

这是巴基斯坦手机号码的HTML5模式

<input type="text" pattern="03[0-9]{2}-(?!1234567)(?!1111111)(?!7654321)[0-9]{7}" name="mobile_number" placeholder="Mobile Number" required>

答案 1 :(得分:1)

我在正则表达式方面表现不佳,但无论如何我都无法想到做第二个和第三个条件而不会以连续的方式忽略每个数字组合。如果你不介意真正丑陋的正则表达式,那么这将有助于解决所有三个规则。

03[0-9]{2}-(?!0123456)(?!1234567)(?!2345678)(?!3456789)(?!4567890)(?!0987654)(?!9876543)(?!8765432)(?!7654321)(?!6543210)([0-9])(?!\1{6})[0-9]{6}

测试here

现在,如果你能找到另一种测试后两种情况的方法,那么正则表达式要简单得多。

03[0-9]{2}-([0-9])(?!\1{6})[0-9]{6}

测试here

答案 2 :(得分:0)

    <!-- Pakistani phone number format: +923101234567 pattern="[\+]\d{2}\d{10}"-->
    <!-- For Reg Expression : pattern : [\\+]\\d{2}\\d{10} -->
    <form>
      <label for="country_code">Pak Phone Number</label>
      <input type="text" id="phone_no" name="phone_no" pattern="[\+]\d{2}\d{10}" title="ex: +923101234567"><br><br>
      <input type="submit">
    </form>