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 - NodeJS + AngularJS - 一段时间后,我得到 net::ERR_CONNECTION_RESET

javascript - 如何将输入值放入卡片标题和卡片文本中

c# - 使用带分隔符的字符串的正则表达式部分更新

javascript - 在 ng-repeat Angular JS 中获取更新的值

php - 浏览图像列表的最简单方法是什么?

javascript - 使用 socket.io 的命名数组

javascript - 如何在 Bootstrap 中动态添加行

IE6/7 上的 Javascript 挂起 UI

java - 什么是 Java 中的单词边界元字符的等价物?

Python - 如何使用正则表达式分割字符串但保留包含分割分隔符的模式?