2016-11-16 3 views
0

Wie Sie die Telefonnummern anhand von Ländercodes in Javascript überprüfen.Bestätigung der Telefonnummer basierend auf der Ländervorwahl

Zum Beispiel: India-startet mit 91-xxxxxxxxxx, UK-44-xxxxxxxxxx, SZ-268-22xxxxxx und so weiter. So sollte es anderen Ländern Ländercode mit Telefonnummer bestätigen, die ich eingeben werde.

Unten ist der Code, den ich versuchte, aber es ist nur für ein Land. Parallel zur Validierung des Ländercodes mit anderen Ländern.

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

Der einfachste Weg wäre, um ein Objekt zu haben, die all regex Muster enthält, Testen Sie die Telefonnummernformate der verschiedenen Länder anhand der Landesvorwahl. Die Verwendung von Stringmanipulation wird es sehr viel komplizierter und spröder machen, als es sein muss. –

+0

Someones hat die harte Arbeit für euch erledigt [int-tel-input] (https://github.com/ jackocnr/intl-tel-input) jQuery-Plugin würde den Trick machen. –

+0

Ich habe diese Bibliothek in der Vergangenheit verwendet. Es ist gut dokumentiert. Erfinde das Rad nicht neu. https://github.com/googlei18n/libphonenumber – ppovoski

Antwort

1

Mit some Methode Schleife über jeden Ländercode und wertet regelmäßig 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

Genau bin auf der Suche nach Code so etwas. Vielen Dank –

Verwandte Themen