验证'%'和'('在JavaScript上

dan*_*iel 5 javascript validation

问候所有.我有以下函数来验证输入,具体取决于数字,字母,字母数字和电子邮件:

  function permite(e, permitidos) {

    var key = e.keyCode || e.which;

    //Validate if its an arrow or delete button
    if((key == 46) || (key == 8) || (key >= 37 && key <= 40))
        return true;

    var keychar = String.fromCharCode(key);

    switch(permitidos) {
        case 'num':
            permitidos = /^[0-9]$/;
            break;
        case 'car':
            permitidos = /^[\sa-zA-Z]$/;
            break;
        case 'num_car':
            permitidos = /^[\sa-zA-Z0-9]$/;
            break;
        case 'correo':
            permitidos = /^[a-zA-Z0-9._\-+@]$/;
            break;
    }

    return permitidos.test(keychar);


 }
Run Code Online (Sandbox Code Playgroud)

var名称是西班牙语,但它很容易理解.

问题如下.'%'的键码与左箭头相同37,而'('的键码与右箭头相同.所以我的功能是不验证'%'和'('而且很糟糕.我不知道怎么做,请帮忙.

Law*_*ney 0

有点 OT(抱歉),但您可能想看看其中的 Javascript 库之一,例如 JQuery;几乎所有这些都带有(或拥有)用于“验证输入”的库。

例如:如果您使用 JQuery,您可以考虑“验证”插件 - http://bassistance.de/jquery-plugins/jquery-plugin-validation/