该功能不验证电话号码

时间:2017-05-16 14:48:24

标签: javascript function phone-number

我想检查一个号码(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.");
}

1 个答案:

答案 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) {}