限制特殊和粘贴的字符

时间:2016-06-22 09:25:19

标签: javascript

我们如何从Javascript(Not JQUERY)限制特殊字符和CTRL + V,但它应该允许( - )连字符。

以下代码我试图限制除( - )连字符之外的特殊字符,它运行良好。这里我想添加一个限制粘贴(CNTRL + V)字符的条件。

function allowAlphaNumHyphen(evt){
    var keyCode = (evt.which) ? evt.which : evt.keyCode
    if (((keyCode >= 48 && keyCode <= 90 && (keyCode<58 || keyCode>64) ) || ( keyCode > 96 && keyCode <= 122 )  || keyCode==8 || keyCode==127 || keyCode==45)){
        return true;
    }
    else{
        return false;
    }
}

1 个答案:

答案 0 :(得分:0)

由于上面的函数是从onkeypress调用的,所以它不考虑CNTR字符,所以使用带有以下代码的onkeydown进行新的调用

<强> onkeypress事件

function allowAlphaNumHyphen(evt){
    var keyCode = (evt.which) ? evt.which : evt.keyCode
             if ((((keyCode >= 48 && keyCode <= 90 && (keyCode<58 || keyCode>64) ) || ( keyCode > 96 && keyCode <= 122 )  || keyCode==8 || keyCode==127 || keyCode==45)) && !(keyCode==17)){
            return true;
            }
            else{
                return false;
            }
}

<强>的onkeydown

function checkPastingChar(evt){
    var keyCode = (evt.which) ? evt.which : evt.keyCode
    if((evt.ctrlKey && keyCode==86) || (evt.ctrlKey && keyCode==118)){
         return false;
    }else{
         return true;
    }

}