阻止用户在表单字段中输入<或>

Cou*_*son 4 javascript regex jquery

我试图阻止用户使用JavaScript将<或>输入到我的表单字段中.这是我到目前为止所拥有的:

$(document).on('keydown', function (e) {
    regex = new RegExp("\<|>");
    var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
    if (!regex.test(key)) {
        event.preventDefault();
        return false;
    }
});
Run Code Online (Sandbox Code Playgroud)

它仍然允许这些角色,我该如何阻止它?

Dig*_*ris 5

为什么要费心翻译呢?我喜欢保持简单:

$(document).on('keypress', function (e) {
    if ((e.which == 62) || (e.which == 60)) { // greater than or less than key pressed
        e.preventDefault();
    }    
});
Run Code Online (Sandbox Code Playgroud)

编辑添加:

如果条件基于@Samsquanch反馈,则交替:

if ((String.fromCharCode(e.which) == '>') || (String.fromCharCode(e.which) == '<')) { // greater than or less than key pressed
Run Code Online (Sandbox Code Playgroud)

  • 应该注意,这不适用于跨浏览器和/或跨操作系统.例如,它对我不起作用,因为`<`返回188,而`>`键返回190. (2认同)