【问题标题】:Australian Mobile number regular expression validation needs to allow space in between number澳大利亚手机号码正则表达式验证需要在号码之间留出空格
【发布时间】:2016-12-12 14:25:26
【问题描述】:

我需要验证手机号码

  • 第一个以 04 开头的文本输入
  • 应该是包括04在内的10位数字(例如:0412345678)

我的输入框在下面

<form name="uploadForm">
<input type="tel" name="MobileNumber" id="MobileNumber" data-ng-model="ApplicationData.MobileNumber" required maxlength="14" data-ng-pattern="/^(0?4[0-9]{8}/\s)$/">
<span data-ng-show="uploadForm.MobileNumber.$error.pattern">Please enter a valid mobile number.</span>

<input type="tel" name="Number" id="Number" data-ng-model="ApplicationData.Number" required maxlength="14" data-ng-pattern="/(^1300\d{6}$)|(^1800\d{6}$)|(^0[2|3|7|8]{1}[0-9]{8}$)|(^04\d{2,3}\d{6}$)/">

<span data-ng-show="uploadForm.Number.$error.pattern">Please enter a valid mobile number.</span>

</form>

有谁能帮帮我吗?

【问题讨论】:

    标签: javascript angularjs regex angularjs-ng-pattern


    【解决方案1】:

    我认为你的第一个问题用这个正则表达式替换。它接受数字之间的空格。

    ng-pattern="/^04(\s?[0-9]{2}\s?)([0-9]{3}\s?[0-9]{3}|[0-9]{2}\s?[0-9]{2}\s?[0-9]{2})$/"
    

    关于你的第二个问题,它很长,这是我现在能想到的。

    ng-pattern="/(^1300\s?([0-9]{3}\s?[0-9]{3}|[0-9]{2}\s?[0-9]{2}\s?[0-9]{2})$)|(^1800\s?([0-9]{3}\s?[0-9]{3}|[0-9]{2}\s?[0-9]{2}\s?[0-9]{2})$)|(^0[2|3|7|8]{1}[0-9]{8}$)|(^04(\s?[0-9]{2}\s?)([0-9]{3}\s?[0-9]{3}|[0-9]{2}\s?[0-9]{2}\s?[0-9]{2})$)/"
    

    任何机构都有兴趣修改/缩短这个。

    【讨论】:

      【解决方案2】:

      如果我理解正确,这就是你的正则表达式模式。

      ^04[0-9]{8}$

      ^04 - 以 04 开头
      [0-9]{8} - 匹配接下来的 8 位数字
      $ - 匹配字符串结尾

      【讨论】:

      • 我们可以在数字之间输入空格,例如 0451 234 567 或在任何数字之间输入空格,但最多 14 个字符,应该是从 04 开始的 10 位数字。我不擅长常规 exp 可以任何一个我?
      • 使用此要求编辑您的问题,使其更清晰。
      • 检查this
      • 自 2015 年起,前缀 05 也表示移动(055 除外)-en.wikipedia.org/wiki/…
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-04
      • 1970-01-01
      • 2012-12-19
      • 2015-07-13
      • 2013-03-13
      • 2014-04-18
      相关资源
      最近更新 更多