我想用jQuery替换singe(撇号)和双引号。我有一个带有文本区域的表单,不允许使用这些字符。我可以替换这些字符“但不是这个字符”下面是我的代码,它完美地适用于前两个字符但不是第三个字符:
function removeQuotes(str){
var str = $(str).val();
if(str != ''){
str = str.replace(/(['"’])/g, '');
return str;
}
};
$('textarea').on('blur', function(){
$(this).val(removeQuotes($(this)));
});
我输入了这个字符串
it's it"s it’s
并模糊了文本区域,这是我的输出
its its it’s
我无法摆脱第三个引用。从Outlook(第三个文件)复制一行文本时我注意到了这一点。
答案 0 :(得分:0)
str = str.replace(/([`'"’])/g, '');
答案 1 :(得分:0)
Outlook使用智能引号,我发现Ben Nadel的一篇文章:http://www.bennadel.com/blog/1155-cleaning-high-ascii-values-for-web-safeness-in-coldfusion.htm
使用他的正则表达式:[^ \ x00- \ x7F]这有效地删除了我遇到问题的引用。现在我的页面按要求工作。
更新的代码:
function removeQuotes(str){
var str = $(str).val();
if(str != ''){
str = str.replace(/([`'"‘’“”])/g, '');
str = str.replace(/([^\x00-\x7F])/g, '');
return str;
}
};