【发布时间】:2010-03-05 10:40:44
【问题描述】:
我需要在 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() 函数才能使其正常工作?
【问题讨论】:
-
多么不友好的系统。让人们输入空格和破折号,然后忽略它们。那么国际电话号码呢?
-
这看起来像是一项学校作业。对于严重的使用,你不应该使用正则表达式来validate phone numbers properly。
-
@DanDascalescu 其实那时候还不是学校作业。只是 RentACoder 上的一个糟糕的工作
标签: javascript validation