Regex для номера мобильного телефона с кодом страны или без него
Мне нужно проверить текстовое поле в моей регистрационной форме, для которого я хочу регулярное выражение.
текстовое поле будет принимать номер мобильного телефона, как 9999999999(10 цифр, начиная с 7 или 8 или 9). Пользователь может также написать +919999999999, где + 91 - код страны (+91 для Индии, но может принять любой другой, как +110 или + 52), или он также может написать 09999999999 (первый 0 для собственной страны)
здесь у пользователя есть 3 варианта,
- добавить мобильных номер с кодом страны
- просто без кода страны и префиксом 0
- С нулевым префиксом в мобильном номере.
хотя это не требуется, моя страница находится в 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
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