0
Javascriptで国コードに基づいて電話番号を検証する方法。国番号に基づいて電話番号を確認する
たとえば、インドは91-xxxxxxxxxx
,UK-44-xxxxxxxxxx
,SZ-268-22xxxxxx
などで始まります。このように私は入力する電話番号で他の国の国コードを検証する必要があります。
以下は試したコードですが、それは1カ国のみです。並行して他の国の国コードで検証する方法。
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;
}
最も簡単な方法は、にすべての正規表現パターンを含むオブジェクトを持っているだろう国コードをキーにして、さまざまな国の電話番号形式をテストします。これに対して文字列操作を使用すると、複雑になり、より脆くなります。 –
誰かがすでにこの作業を行っています。[int-tel-input](https://github.com/ jackocnr/intl-tel-input)jQueryプラグインがこのトリックを行います。 –
私は過去にこのライブラリを使用しました。それは十分に文書化されている。車輪を再発明しないでください。 https://github.com/googlei18n/libphonenumber – ppovoski