0

我正在使用键代码验证我的输入字段以输入(az、AZ、_)。javascript 代码如下所示:

function checkForSpecialCharacters(event) {
var keycode;

keycode = event.keyCode ? event.keyCode : event.which;

if ((keycode >= 48 && keycode <= 57) || (keycode >= 65 && keycode <= 90) || (keycode == 9)
        || (keycode == 95)||(keycode == 8) || (keycode >= 97 && keycode <= 122)) {

    return true;

}

else {

    return false;

}
return true;

}

这在 Chrome、IE 中工作得很好,但在 Firefox 中它也阻止了箭头键。

我已经经历了Up down left right 的 ascii 值是多少?. 但就我而言,我需要防止在输入字段中输入所有特殊字符。
上述链接中的给出解决方案不符合我的要求。

请回复您的积极回应。

谢谢。

4

1 回答 1

2

得到了这个问题的解决方案。只需使用event.which. 这事件对象的一个​​属性。它包含被按下以触发事件的键的键码(例如:keydown、keyup 等)。

因此,只需获取按下的键的值event.which并检查 if 条件。

在我的情况下,在 Firefox 浏览器中,箭头键为 0。所以我只是添加了更多或条件,例如:

if ((keycode >= 48 && keycode <= 57) || (keycode >= 65 && keycode <= 90) || (keycode == 9)
 || (event.which == 0)  || (keycode == 95)||(keycode == 8) || (keycode >= 97 && keycode <= 122)) {

return true;}

希望它会帮助其他朋友。

谢谢

于 2013-08-16T11:54:18.897 回答