我们如何从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;
}
}
答案 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;
}
}