我有一个字段,并希望在他键入时显示用户时防止一些非法字符.我如何在以下示例中执行此操作?
$('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);
});
Run Code Online (Sandbox Code Playgroud)
编辑:我应该把非法字符放在一个数组中
var vowels = new Array('"', "<", ">", "&");
Run Code Online (Sandbox Code Playgroud)
尝试使用正则表达式.
$('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);
});
Run Code Online (Sandbox Code Playgroud)
而供参考:您可以替换.attr("value",val)使用.val(val),并.attr("value")与.val()
更新:
如果要排除更多字符,可以将它们放入正则表达式中.如果要排除用于控制正则表达式的字符,则需要使用\字符来转义它们以控制正则表达式:[]()/\+{}?*+.^$
| 归档时间: |
|
| 查看次数: |
4049 次 |
| 最近记录: |