2016-07-13 2 views
2

Я пытаюсь проверить номер телефона следующим образом. После 61 года он должен начинаться только с 2 или 3 или 6. Примерами являются следующие. 61-245623463: действительный 61-345623456: действительный 61-445623423: не действует 61-645623485: действительныйПодтвердите номер телефона, начиная с определенного номера только в inputmask jquery

Мой текущий код выглядит следующим образом. Но он не работает.

$("#mask_aus_phone").inputmask({mask: "61-2 9999 9999"}); 
$("#mask_aus_phone").inputmask({mask: "61-3 9999 9999"}); 
$("#mask_aus_phone").inputmask({mask: "61-6 9999 9999"}); 

Я также попытался сделать следующее. Но это также не работает.

$("#mask_aus_phone").inputmask({mask: "61-{2,3,6} 9999 9999"}); 

Может кто-нибудь помочь мне подтвердить это.

ответ

2

Вы можете кормить регулярное выражение в маске ввода:

$('#mask_aus_phone').inputmask('Regex', { 
    regex: "^61-[236]" 
}); 

Я использовал регулярные выражения ^61-[236], но вы можете также использовать положительный предпросмотр и утверждают, что число после 61- либо 2, 3, или 6 :

^61-(?:(?=[236]).)+ 

Update:

Вы не сделали это явно, но если у НУ хотите ограничить общее количество цифр после 61- до 9, то вы можете попробовать:

^61-[236]\d{8}$ 

Демо:

Regex101

+0

Привет Тим, это работает отлично. Можете ли вы посоветовать мне, как ограничить число после ввода 2 или 3 или 6. Большое вам спасибо. –

+0

Спасибо за ответ. Последнее регулярное выражение, похоже, не работает на моем сайте. После ввода 61-2, он не позволяет ввести какой-либо номер. В чем может быть проблема. Мой код: $ ('# mask_aus_phone'). Inputmask ('Regex', { regex: "^ 61- [236] \ d {8} $" }); –

+0

Попробуйте следующее: '^ 61- [236] [0-9] {8} $' ... каждый движок регулярных выражений имеет свой собственный вкус и способ делать что-то. Во всяком случае, регулярное выражение, которое я дал, должно работать на большинстве движков. –