我需要在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>
Run Code Online (Sandbox Code Playgroud)
但是,显然它不起作用.如何编写validatePhone()函数以使其有效?
我想确保正确输入电话号码.它们是英国号码,不能包含任何符号或字母.它们的长度必须为11.
所以我尝试了以下方法:
else if (phone == null || !phone.toString().match(/^[-]?\d*\.?\d*$/)){
Run Code Online (Sandbox Code Playgroud)
但这实际上允许任何长度甚至空白输入.
我该怎么做来验证电话号码?我对Javascript没有经验.