我有一个不接受引号(')和其他一些定义的特殊字符的文本框。
如何在尝试使用jquery将字符串粘贴或拖动到文本框中时验证这些无效字符?
示例:
我将字符串“tes't”拖到我的文本框中,它应该只显示“test”,因为'无效。这可能吗?
答案 0 :(得分:2)
http://jsbin.com/remove-quotes-from-textarea/1/edit
$('textarea').on('input', function(){
this.value = this.value.replace(/'/g,"");
});
如果你想确保不包含任何特殊字符,你可以这样做:
this.value.replace(/[^\w]/g,"");
答案 1 :(得分:0)
这是通过js方面的正则表达式完成的。
str = str.replace(/(['"])/ g," \ $ 1"); ref(jQuery: How to escape single and double quotes with backslash)
"的onblur"或" OnChange"您验证此事件的文本框事件。
或者
按钮点击也检查同样的事情。 (我的建议是文本框的onblur)
这是单引号/双引号等的好例子。阅读问题/答案,无论你想要什么,只需删除。
答案 2 :(得分:0)
试试这个:
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, ""));
}
}
});