Jquery Don';不允许在文本框上粘贴无效字符

Jquery Don';不允许在文本框上粘贴无效字符,jquery,Jquery,我有一个文本框,它不接受引号(')和一些其他定义的特殊字符 当这些无效字符试图使用jquery将字符串粘贴或拖动到我的文本框中时,我如何验证它们 例如: 我将字符串“tes't”拖到我的文本框中,它应该只显示“test”,因为“tes't”无效。可能吗? 如果要确保未包含任何特殊字符,可以执行以下操作: this.value.replace(/[^\w]/g,""); 这是通过js端的正则表达式完成的 str=str.replace(/([“])/g,\$1”); 参考号() 文本框的“Onb

我有一个文本框,它不接受引号(')和一些其他定义的特殊字符

当这些无效字符试图使用jquery将字符串粘贴或拖动到我的文本框中时,我如何验证它们

例如:

我将字符串“tes't”拖到我的文本框中,它应该只显示“test”,因为“tes't”无效。可能吗?

如果要确保未包含任何特殊字符,可以执行以下操作:

this.value.replace(/[^\w]/g,"");

这是通过js端的正则表达式完成的

str=str.replace(/([“])/g,\$1”); 参考号()

文本框的“Onblur”或“OnChange”事件,您可以对此进行验证

按钮点击也检查同样的事情。(我的建议是文本框的模糊)

下面是一个单引号/双引号等的好例子。阅读问题/答案,无论你不想要什么,只要删除即可

试试这个:

var lst = ["\"", "&", "'", "%"];
    $('#txt').on('input', function () {           
      var inputText = $(this).val();
      var index = 0;
      for (var i = 0; i < inputText.length; i++) {                    
        index = $.inArray(inputText.charAt(i), lst);
        if (index >= 0) {
           var myregexp = new RegExp(lst[index], 'g');
           $(this).val($(this).val().replace(myregexp, ""));
        }
      }
    });
var lst=[“\”、“&”、“%”、“%”、“%”;
$('#txt')。在('input',function(){
var inputText=$(this.val();
var指数=0;
对于(var i=0;i=0){
var myregexp=新的RegExp(lst[索引],'g');
$(this.val($(this.val().replace)(myregexp,“”));
}
}
});

那么我们尝试了什么呢。您可能需要查看try to replace var str=“tes't”str.replace(“,”)。on('input')事件在IE9的怪癖模式下似乎无法正常工作。最初,它在我的本地机器上工作,但当我将它移动到我们的实际服务器(默认模式为怪癖)时,它失败了。
var lst = ["\"", "&", "'", "%"];
    $('#txt').on('input', function () {           
      var inputText = $(this).val();
      var index = 0;
      for (var i = 0; i < inputText.length; i++) {                    
        index = $.inArray(inputText.charAt(i), lst);
        if (index >= 0) {
           var myregexp = new RegExp(lst[index], 'g');
           $(this).val($(this).val().replace(myregexp, ""));
        }
      }
    });