Regex для номера мобильного телефона с кодом страны или без него

Мне нужно проверить текстовое поле в моей регистрационной форме, для которого я хочу регулярное выражение.

текстовое поле будет принимать номер мобильного телефона, как 9999999999(10 цифр, начиная с 7 или 8 или 9). Пользователь может также написать +919999999999, где + 91 - код страны (+91 для Индии, но может принять любой другой, как +110 или + 52), или он также может написать 09999999999 (первый 0 для собственной страны)

здесь у пользователя есть 3 варианта,

  1. добавить мобильных номер с кодом страны
  2. просто без кода страны и префиксом 0
  3. С нулевым префиксом в мобильном номере.

хотя это не требуется, моя страница находится в asp.net, и я использую встроенный валидатор регулярных выражений.

5 ответов


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

^([0|\+[0-9]{1,5})?([7-9][0-9]{9})$

но если вы можете дать нам несколько тестовых случаев для каждого, это поможет нам дать вам рабочее регулярное выражение для того, что вы хотите.

реквизит SchlaWiener в комментариях для правильного ограничения длины кода страны.


простое регулярное выражение для проверки Индийский мобильный номер: /^[0]?[789]\d{9}$/

поддержка 08888888888 (добавление нуля) 7878787878,8634456876,9545559877 (любой номер мобильного телефона предшествует 7,8,9 и следуют другие 9 цифр)

полная функция

function mobileNumber(){

     var Number = document.getElementById('YOUR ELEMENT ID').value;
     var IndNum = /^[0]?[789]\d{9}$/;

     if(IndNum.test(Number)){
        return;
    }

    else{
        $('#errMessage').text('please enter valid mobile number');
        document.getElementById('profile_telephoneNumber').focus();
    }

}

вы также можете сделать это с помощью обработки строк. Проверьте это ссылке

str = "+919999999999"
cc = str.split(str.slice(-10))[0]

результат будет +91


это должно сделать трюк:

^(\+[\d]{1,5}|0)?[7-9]\d{9}$

http://fiddle.re/av1k


if(document.getElementById('mobile_number').value != ""){

       var y = document.getElementById('mobile_number').value;
       if(isNaN(y)||y.indexOf(" ")!=-1)
       {
          alert("Invalid Mobile No.");
          document.getElementById('mobile_number').focus();
          return false;
       }

       if (y.length>10 || y.length<10)
       {
            alert("Mobile No. should be 10 digit");
            document.getElementById('mobile_number').focus();
            return false;
       }
       if (!(y.charAt(0)=="9" || y.charAt(0)=="8"))
       {
            alert("Mobile No. should start with 9 or 8 ");
            document.getElementById('mobile_number').focus();
            return false
       }
 }

и вы также можете увидеть в Примере по ссылке нажмите здесь

http://p2p.wrox.com/javascript-how/64920-validation-phone-number-mobile-number.html