2016-11-16 3 views
0

Как проверить номера телефонов на основе кодов стран в Javascript.Подтверждающий номер телефона на основе кода страны

Например: Индия-начинает с 91-xxxxxxxxxx, UK-44-xxxxxxxxxx, SZ-268-22xxxxxx и так далее. Таким образом, он должен подтвердить код страны других стран с номером телефона, который я укажу.

Ниже приведен код, который я пробовал, но только для одной страны. Параллельно, как сделать валидацию с кодом страны других стран.

function validateMobNo(mobno){ 
var mobno2; 
var flag=false; 
var mlen= mobno.length; 
//alert(mobno.substr(3,mobno.length-3)); 
if(mobno.charAt(0)!='+' && mlen==10){ 
    mobno2="+91-"+mobno; 
    alert("1>>your mobile wants to be in "+mobno2); 
    flag=true; 
} 
else if(mobno.charAt(0)=='+'){ 
    if(mobno.substr(0,3)=='+91' && mobno.length==13){ 
     mobno2=mobno.substr(0,3)+"-"+mobno.substr(3,mobno.length-3); 
     alert("2>>your mobile wants to be in "+mobno2); 
     flag=true;  
    } 
} 
else if(mobno.indexOf("-")<0&&mobno.length==12 && mobno.substr(0,2)=='91'){ 
    mobno2=mobno.substr(0,2)+"-"+mobno.substr(3,mobno.length-2); 
    alert("3>>your mobile wants to be in "+mobno2); 
    flag=true; 
    } 
else 
    alert("Please correct your mobile No"); 
if(flag==true) 
    document.mobvalidate.mobno.value=mobno2; 
else 
    document.mobvalidate.mobno.focus() 
return flag; 

} 
+0

Самым простым способом будет иметь объект, который содержит все регулярные выражения для протестировать различные форматы телефонных номеров разных стран, с помощью кода страны. Использование струнных манипуляций для этого будет сделать его намного более сложным и более хрупким, чем это должно быть –

+0

Кто-то уже сделал для вас трудную работу [int-tel-input] (https://github.com/ jackocnr/intl-tel-input) Плагин jQuery мог бы сделать трюк. –

+0

Я использовал эту библиотеку в прошлом. Это хорошо документировано. Не заново изобретайте колесо. https://github.com/googlei18n/libphonenumber – ppovoski

ответ

1

Использование some метод цикла по каждому коду страны и оценивает с регулярным erxpressions:

country_codes=['91-', 'UK-44-', 'SZ-268-22'] 
 
phone="91-123456789"; 
 

 
is_valid_number = country_codes.some(elem => phone.match('^' + elem)); 
 
console.log(is_valid_number);

+0

Точно я ищу код, похожий на этот. спасибо –

Смежные вопросы