我做了一些搜索,其他人在哪里问这个问题和答案,但没有一个似乎适合我想要做的事情。基本上,我正在验证接受 (123)4567890 作为条目的电话条目。我已经实现了一个接受简单数字字符串(例如 1234567890)和一个带有破折号 123-456-7890 的字符串。我知道我在某些地方犯了一个简单的错误,但我无法弄清楚我做错了什么。
这是有效的破折号形式的电话号码:
//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;
}