Ответ 1
phone = phone.replace(/[^0-9]/g, '');
if(phone.length != 10) {
alert("not 10 digits");
} else {
alert("yep, its 10 digits");
}
Это будет проверять и/или исправлять на основе ваших требований, удаляя все не-цифры.
Мне нужно проверить номер телефона в javascript. Требования:
они должны быть 10 цифр, без запятой, нет тире, только цифры, а не 1+ спереди
Это то, что я написал до сих пор
function validatePhone(field,alerttxt) {
with (field) {
if(value.length > 10) {
alert(alerttext);
return false;
}
for(i = 0; i < value.length; i++) {
if(parseInt(value[i]) == NaN) {
alert(alerttxt);
return false;
}
}
return true;
}
}
function validateForm(thisform) {
if (validatePhone(phone,"Invalid phone number")==false) {
phone.focus();
return false;
}
}
}
<form action="post.php" method="post" id="contactform" onsubmit="return validateForm(this)">
<ol>
<label for="phone">Your phone <span class="red"></span></label>
<input id="phone" name="phone" class="text" />
</li>
</ol>
</form>
но, очевидно, это не сработает.
Как написать функцию validatePhone()
, чтобы она работала?
phone = phone.replace(/[^0-9]/g, '');
if(phone.length != 10) {
alert("not 10 digits");
} else {
alert("yep, its 10 digits");
}
Это будет проверять и/или исправлять на основе ваших требований, удаляя все не-цифры.
Google libphonenumber очень полезен для проверки и форматирования телефонных номеров во всем мире. Это проще, менее загадочно и более надежно, чем использование RegEx, и оно поставляется в вариантах JavaScript, Ruby, Python, С#, PHP и Objective-C.
Вы можете использовать регулярные выражения:
function validatePhone(field, alerttext) {
if (field.match(/^\d{10}/)) {
return true;
}
alert(alerttext);
return false;
}
Код, за исключением только цифр и фигурных скобок
function DoValidatePhone() {
var frm = document.forms['editMemberForm'];
var stripped = frm.contact.value;
var isGoodMatch = stripped.match(/^[0-9\s(-)]*$/);
if (!isGoodMatch) {
alert("The Emergency Contact number contains invalid characters." + stripped);
return false;
}
}
Фиксированная функция:
function validateForm(thisform) {
if (validatePhone(thisform.phone,"Invalid phone number")==false) {
thisform.phone.focus();
return false;
}
return true;
}
function validate(phoneString){
reg = /^([+|\d])+([\s|\d])+([\d])$/;
return reg.test(phoneString);
}