function ClientContactCheck(){
    var clientcontact = $("#client_contact_id").val();

    if(clientcontact.length != ""){
    if(!isNaN(clientcontact)){
        $("#client_contact_id").css('border-color', "#dfe0e6");
        return true;
    }
    }else{
        $("#client_contact_id").css('border-color', "red");
    }

return false;
}


我正在使用此功能来验证电话号码,我的意图很简单,就是不能为空,而必须为电话号码。

但是如果放!isNaN,而我的输入是123-456-789,它将不会有效,因为-不是数字,我如何使函数绕过-?

因此,如果输入值具有-它会通过思考。

谢谢

最佳答案

您可以使用正则表达式进行检查:

var clientcontact = $("#client_contact_id").val();
if (/^[0-9\-]+$/.test(clientcontact)) {
    $("#client_contact_id").css('border-color', "#dfe0e6");
    return true;
} else {
    $("#client_contact_id").css('border-color', "red");
    return false;
}


这也将允许'-', '--', '---'。如果不希望这样,您可以再检查一次:... && !/^-*$/.test(clientcontact)

09-20 01:14