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