如何使名称的输入框仅允许E和非E字符,而不是keydown事件上的特殊字符。
例如: 接受:aㅎㅎ啊 否认:。 \ | })#+
而且我也不知道为什么:
'.'.charCodeAt(0) = 46 (chrome console)
在我的keydown事件中,如果我输入点(。)
e.which = 190
如果我在numlock键盘中输入点(。)
e.which = 110
如此迷惑。
答案 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。