2013-06-27 3 views
0

Я немного неделю в regex.i пытаюсь проверить номер телефона по regex & jQuery, и он работает, когда я даю номер телефона, например +4401634687222 или 3301634687222. В основном номер телефона может выглядеть ниже и эти нет.Проверка номера телефона с помощью JQuery & RegEx

+44 (0) 1634 687222 
+44(0)1634687222 
4401634687222 
25805487 

вот мой код для проверки.

var regEx = '1?\W*([2-9][0-8][0-9])\W*([2-9][0-9]{2})\W*([0-9]{4})(\se?x?t?(\d*))?'; 
var val = jQuery.trim($("input[id*='txtEnqphone']").val()) 
if (!val.match(regEx)) { 
    if ($('#Enquery_feed_loader').html() != '') { 
     $('#Enquery_feed_loader').fadeOut('slow', function() { 
      $('#Enquery_feed_loader').html('<span>' + dialog_Msg.Invalid_Phone + '</span>'); 
     }).fadeIn('slow'); 
    } else { 
     $('#Enquery_feed_loader').fadeOut('slow', function() { 
      $('#Enquery_feed_loader').html('<span>' + dialog_Msg.Invalid_Phone + '</span>'); 
     }).fadeIn('slow'); 
    } 

    $("input[id*='txtEnqphone']").focus() 
    flag = false; 
    return false; 
} 

так что просто измените выражение в выражении регулярного выражения, в результате я могу ввести вышеуказанный номер телефона. спасибо

ответ

0

Попробуйте это:

^\(?\d{3}\)?[- ]?\d{3}[- ]?\d{4}$ 
0

попробовать это:

^[+][0-9]\d{2}-\d{3}-\d{4}$ 

выше регулярное выражение будет позволит следующей схеме:

+ 974-584-5656 | + 000-000-0000 | + 323-343-3453

И следующий будет не быть разрешено.

974-584-5656 | +974 000 0000

Edit:

Для модификации выше регулярное выражение: ^[0-9]\d{2} \d{3} \d{4}

Другой регулярное выражение, вы можете попробовать это:

^(1\s*[-\/\.]?)?(\((\d{3})\)|(\d{3}))\s*[-\/\.]?\s*(\d{3})\s*[-\/\.]?\s*(\d{4})\s*(([xX]|[eE][xX][tT])\.?\s*(\d+))*$ 

Разрешено: 2405525009 | 1 (240) 652-5009

+0

люди могут давать без знака +, и это должно быть разрешено. поэтому изменение в regex для знака this.plus должно быть необязательным. люди могут использовать или нет. – Thomas

+0

Я хочу, чтобы телефон не мог или не мог начинаться с + sign.phone no may have - или() chanracter или может иметь место и длину, должно быть больше 6. Могу ли вы, пожалуйста, дать мне точное регулярное выражение для моего требования. спасибо – Thomas

+0

вам нужно немного поиграть! – PVR