我想检查一个号码(var phone)。它应该是有效的,如果它有7到8个字符,其中一个可以是破折号( - )。 如果数字大于8或小于7个字符,则该函数应返回false(显然不是)。哪里有问题? 无论我分配给var phone,console.log都显示一切都是有效的。顺便说一句,我是JavaScript的初学者。
var phone = "123-56";
function validate(phoneNumber) {
if (phoneNumber.length > 8 ||
phoneNumber.length < 7) {
return false;
}
var vals = phoneNumber.split("-");
if (isNaN(vals[0]) || isNaN(vals[1])) {
return false;
}
return true;
}
if (validate) {
console.log("The number " + phone + " is valid.");
} else {
console.log("The number " + phone + " is NOT valid.");
}
答案 0 :(得分:4)
以下
if(validate)
表示&#34;对象validate
是否存在?&#34;
您需要做的是使用验证功能的执行结果:
if (validate(phone)) {
console.log("The number " + phone + " is valid.");
} else {
console.log("The number " + phone + " is NOT valid.");
}
其中if (validate(phone))
是
let validated = validate(phone); // you store the result of the validate function into a new variable
if (validated) {}