输入只允许英语和非英语字符javascript?

时间:2015-11-26 08:20:00

标签: javascript jquery input keydown

如何使名称的输入框仅允许E和非E字符,而不是keydown事件上的特殊字符。

例如: 接受:aㅎㅎ啊 否认:。 \ | })#+

而且我也不知道为什么:

'.'.charCodeAt(0) = 46 (chrome console)

在我的keydown事件中,如果我输入点(。)

 e.which = 190

如果我在numlock键盘中输入点(。)

e.which = 110

如此迷惑。

2 个答案:

答案 0 :(得分:1)

试试这个。似乎它适用于jQuery 1.4.2,FF,IE,Chrome。

<script>
    $("input").keypress(function (e) {
        if (e.which !== 0 &&
            !e.ctrlKey && !e.metaKey && !e.altKey) {
            alert(String.fromCharCode(e.which));
        }
    });
</script>

答案 1 :(得分:0)

您可以使用此正则表达式替换String中的所有特殊字符:

String.replace(/[\u0021-\u002e\u003a-\u0040\u005b-\u0060\u007b-\u007e]*/g, "")

同样,您可以使用此正则表达式来查找用户输入的文本是否与正则表达式匹配并返回false。