我做了一些搜索,并在那里其他人问这个问题和答案,但没有一个似乎符合我想要做的。基本上我正在验证接受(123)4567890作为条目的电话条目。我已经实现了一个接受一个简单的数字字符串,如1234567890和一个破折号123-456-7890。我知道我正在犯一个简单的错误,但我无法弄清楚我做错了什么。Javascript电话号码验证Paratheses标志
下面是用虚线形式的电话号码是工作:
//Validates phone number with dashes.
function isTwelveAndDashes(phone) {
if (phone.length != 12) return false;
var pass = true;
for (var i = 0; i < phone.length; i++) {
var c = phone.charAt(i);
if (i == 3 || i == 7) {
if (c != '-') {
pass = false;
}
}
else {
if (!isDigit(c)) {
pass = false;
}
}
}
return pass;
}
,这是一个我无法管理打工了。
function isTwelveAndPara(phone) {
if (phone.length != 12) return false;
var pass = true;
for (var i = 0; i < phone.length; i++) {
var c = phone.charAt(i);
if (i == 0) {
if (c != '(') {
pass = false;
}
}
if (i == 4) {
if (c != ')') {
pass = false;
}
}
else {
if (!isDigit(c)) {
pass = false;
}
}
}
return pass;
}
以下是验证电话号码的方法:**请勿**如果您的用户在海外,该怎么办?如果他们有扩展名会怎么样?您通过验证获得的好处通常会通过关闭您不想关闭的门来消除。 (并且没有验证将确保您获得一个*有效的*电话号码;任何验证规则都可能被一个真实的虚假号码愚弄。) –
澄清这不是用于商业网站,而是我的教育的一部分。我期待看到我做错了什么。我知道它与(和)字符的if语句,但我不确定将它们两者都加入if(&&)语句的正确语法。 –
@ T.J.Crowder。你忘了提到应该用'regex'完成字符串模式检查... +1 – gdoron