(123) 456-7890 や 1234567890 などの電話番号を検証したいのですが、次のコードで「一致」条件をどのように記述すればよいですか?
form.validate({
rules: {
phoneNumber: {matches:"[0-9]+",minlength:10, maxlength:10}
(123) 456-7890 や 1234567890 などの電話番号を検証したいのですが、次のコードで「一致」条件をどのように記述すればよいですか?
form.validate({
rules: {
phoneNumber: {matches:"[0-9]+",minlength:10, maxlength:10}
あなたの正規表現は次のようになります
[0-9\-\(\)\s]+
.
数字、ダッシュ、括弧、およびスペースに一致します。
あなたの例と一致する、より厳密なものが必要な場合は、これを試してください:
([0-9]{10})|(\([0-9]{3}\)\s+[0-9]{3}\-[0-9]{4})
function validatePhone(txtPhone) {
var a = document.getElementById(txtPhone).value;
var filter = /^((\+[1-9]{1,4}[ \-]*)|(\([0-9]{2,3}\)[ \-]*)|([0-9]{2,4})[ \-]*)*?[0-9]{3,4}?[ \-]*[0-9]{3,4}?$/;
if (filter.test(a)) {
return true;
}
else {
return false;
}
}
これが古い投稿であることは知っていますが、他の人を助けるために私の解決策を共有したいと思いました.
この機能は、有効な 10 桁の電話番号「US 番号」が必要な場合に機能します。
function getValidNumber(value)
{
value = $.trim(value).replace(/\D/g, '');
if (value.substring(0, 1) == '1') {
value = value.substring(1);
}
if (value.length == 10) {
return value;
}
return false;
}
この方法の使い方はこちら
var num = getValidNumber('(123) 456-7890');
if(num !== false){
alert('The valid number is: ' + num);
} else {
alert('The number you passed is not a valid US phone number');
}
これは私にとってはうまくいきます:-
/^\(?(\d{3})\)?[-\. ]?(\d{3})[-\. ]?(\d{4})$/