番号間の空白を含み、これらの文字を許可する国際電話番号を検証するためにRegExがどのように機能するかを誰かに教えてもらえますか:- ( )
。
文字列内の数字の量はそれほど重要ではありません。必要に応じて、ユーザーが例1または2のようなものを入力できるようにしたいと思います。
例:
+44 (0) 207 111 1111
442071111111
私はすでにいくつかの同様の質問に対する投稿された回答を読んでテストしましたが、これまでのところ、私が望むように機能しているものはありません。
誰かが検証のために上記をどのように書くべきかについての明確な説明を手伝ってくれませんか?
助けてくれる人に感謝します。
このコードを試してください
HTMLコード
<input type="text" id="phone"/>
JSコード
$("#phone").blur(function() {
var regexp = /^[\s()+-]*([0-9][\s()+-]*){6,20}$/
var no = $("#phone").val();
if (!regexp.test(no) && no.length < 0) {
alert("Wrong phone no");
}
});
電話番号検証の包括的な正規表現 を参照してください。
/^
[\s]
または\s
を使用します。[(]
および[)]
を使用します。 \(
と\)
の使用は醜く、混乱を招く可能性があります。?
を付けてください-
または[-]
と入力するだけです。ただし、他の一連の文字の最初または最後に配置しない場合は、エスケープする必要があります:\-
[-.\s]
には、ハイフン、ピリオド、またはスペースが必要です。最後の角かっこの後の疑問符は、それらすべてをそのスロットに対してオプションにします。\d{3}
:3桁の番号が必要です:000-999。 [0-9][0-9][0-9]
の省略形。[2-9]
:そのスロットには2〜9の数字が必要です。(\+|1\s)?
:「プラス」または1とスペース(パイプ文字、|
は「または」)を受け入れ、オプションにします。 「プラス」記号はエスケープする必要があります。[246]
には2、4、または6が必要です。[77|78]
には77または78が必要です。$/
:式を終了しますこれは長い正規表現ですが、両方の形式をサポートしています(たとえば、有効な国際番号である2は、+または00で始まる必要があります)。
/^(?:(?:\(?(?:00|\+)([1-4]\d\d|[1-9]\d?)\)?)?[\-\.\ \\\/]?)?((?:\(?\d{1,}\)?[\-\.\ \\\/]?){0,})(?:[\-\.\ \\\/]?(?:#|ext\.?|extension|x)[\-\.\ \\\/]?(\d+))?$/i
これにより、拡張機能と、フォーマットおよびセパレーターの複数の選択肢が可能になります。
一致:
$ nで、それは節約します:
これと同じ答えがここに与えられました: 電話番号検証のための包括的な正規表現 (私の答えへの直接リンク)
/*
@isValidUSPhoneFormat function will check valid US Format
Allowed US Format
(123) 456-7890
123-456-7890
123.456.7890
1234567890
(734) 555.1212
*/
function isValidUSPhoneFormat(elementValue){
var phoneNumberPattern = /^[(]{0,1}[0-9]{3}[)]{0,1}[-\s.]{0,1}[0-9]{3}[-\s.]{0,1}[0-9]{4}$/;
if(phoneNumberPattern.test(elementValue) == false)
{
var phoneNumberPattern = /^(\()?\d{3}(\))?(.|\s)?\d{3}(.|\s)\d{4}$/;
return phoneNumberPattern.test(elementValue);
}
return phoneNumberPattern.test(elementValue);
}
これがJavaScript正規表現を理解するのに役立ちますように。
試してはいけません。無効な入力であると思われるものを防ぐために、完全に有効な電話番号を入力できない怒ったユーザーが発生する可能性があります。そして、ユーザーが本当に無効な電話番号を入力したい場合、彼/彼女はとにかくそれを行うことができます。
function checkPhoneNumber(val) {
var num = document.getElementById(val).value;
var mob=/^[+]*[(]{0,1}[0-9]{1,3}[)]{0,1}[-\s\./0-9]*$/g;
if (mob.test(num) == false) {
alert("Please Enter Valid Phone Number.");
document.getElementById(val).value = "";
return false;
}
if (num.length > 15) {
alert("Only 15 characters allowed for Phone Number field.");
document.getElementById(val).value = "";
return false;
}
return true;
}
試してみてください