javascript - 防止用户在表单字段中输入 < 或 >

标签 javascript jquery regex

我试图阻止用户使用 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;
    }
});

它仍然允许那些字符,我该如何停止呢?

最佳答案

为什么要先翻译然后再进行正则表达式?我喜欢保持简单:

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

编辑添加:

基于@Samsquanch 反馈的替代条件:

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

关于javascript - 防止用户在表单字段中输入 < 或 >,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21311048/

相关文章:

javascript - 当数组为空 Angular.js 时不显示任何值

javascript - 使用javascript的动态字典

javascript - 同步ajax : Guaranteed sequential?

regex - Bash 正则表达式比较问题

正则表达式匹配字符之前和之后

javascript - 将变量或数组中存储的值与字符串 javascript 正则表达式进行匹配

javascript - 200 个 HTTP 请求在 Angular 5 中触发 "catch"操作

javascript - 如果包含一个变量,并且一个实例设置了一个具有相同名称的属性,那么该属性到哪里去了?

使用 npm 和 grunt 进行开发和生产的 Javascript 元素结构

javascript - JQuery 库不再触发的问题