Для проверки правильности регулярного выражения для номера Australian Mobile необходимо использовать пробел между номерами

Мне нужно подтвердить номер мобильного телефона

  • первый ввод текста, начинающийся с 04
  • должно быть всего 10 цифр, включая 04(например, 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>

Кто-нибудь, можете ли вы помочь мне, пожалуйста?

2 ответа

Если я правильно понимаю, это ваш шаблон регулярных выражений.

^04[0-9]{8}$

^04 - начинается с 04
[0-9]{8} - соответствует следующим 8 цифрам
$ - соответствует концу строки

Я думаю, что для вашего первого вопроса замените это регулярное выражение. он принимает пробел между числами.

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})$)/"

любой орган имеет интерес к изменению / сокращению этого.

Другие вопросы по тегам