jQuery keyup() 非法字符

标签 jquery key

我有一个字段,希望在用户键入时显示一些非法字符。 在下面的示例中我该如何做到这一点?

  $('input').bind("change keyup", function() {
   var val = $(this).attr("value");
   /*
   if (val --contains-- '"') {
    $(this).css("background", "red");
           val = val.replace('"', "");
              $(this).attr("value", val)
   }
   */
   $("p").html(val);
  });

编辑:我应该将非法字符放入数组中

var vowels = new Array('"', "<", ">", "&");

最佳答案

尝试使用正则表达式。

$('input').bind("change keyup", function() {
 var val = $(this).val();
 var regex = /["<>&]/g;
 if (val.match(regex)) {
   $(this).css("background", "red");
   val = val.replace(regex, "");
   $(this).val(val);
 }
 $("p").html(val);
});

仅供引用:您可以将 .attr("value",val) 替换为 .val(val).attr("value").val()

更新:

如果你想排除更多字符,你可以将它们放入正则表达式中。如果要排除用于控制正则表达式的字符,则需要使用 \ 字符对其进行转义以控制正则表达式:[]()/\+{}?*+ .^$

关于jQuery keyup() 非法字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2866108/

相关文章:

java - HashMap 中的复合字符串键

php - bootstrap twitter datepicker + modal - 日历出现在父屏幕而不是模态屏幕

jquery - 使用 HTML5 data- 属性进行多列排序

javascript - 点击状态;表单控件组的样式

c - system v IPC 中的 "key"是什么东西?

javascript - jQuery 从索引获取关联数组键

php - 在 PHP 中返回关联数组的第一个键

memory - Redis中如何确定单个key的大小

jquery - 使用 JQuery 构建选项卡

javascript - 如何查找事件 Select2 元素的 id