使用javascript从字符串中删除额外或特殊字符时遇到问题
Having trouble in removing extra or special chars from a string using javascript
我有一个删除额外或特殊字符的函数:
function escapeHtml(unsafe) {
return unsafe
.replace(/'r?'n|'r/g, "")
.replace(/('r'n|'n|'r)/gm," ")
.replace(/'s+/g," ")
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/"/g, """)
.replace(/'/g, "'")
.replace(/!/g, "");
}
当我调用它时,我的代码的这一部分看起来像:
$(".product_json", data).each(function(){
var thisH = $(this).html();
var myNewString = eval( '('+ thisH +')');
var toBeEscaped = myNewString.item_description;
var escapedString = escapeHtml(toBeEscaped);
myNewString.item_description = escapedString;
myNewString = JSON.stringify(myNewString);
console.log(myNewString);
//product_json.push( jQuery.parseJSON( myNewString ) );
});
但控制台中的一些内容:SyntaxError: unterminated string literal
此字段中的数据看起来像
VINOVO - Lotti TERRENO Hobbystico - Campestre!!! <br />
您在以下行中为thisH
赋值:
var thisH = $(this).html();
然后通过以下行中的eval()
(用括号括起来)运行它:
var myNewString = eval( '('+ thisH +')');
触发SyntaxError时,使用调试器检查thisH
的值。用括号括起来的JavaScript是否有效?如果没有,那就是你的问题。
相关文章:
- javascript替换换行符和特殊字符
- angularjs删除动态形式元素中的特殊字符
- 使用json_encode通过xmlhttp.responseText发送特殊字符(即caron)
- 在搜索中考虑特殊字符的
- 避免键入一些特殊字符
- Regex测试特殊字符
- 在 Javascript 中对特殊字符进行排序 (æ)
- 必须检查长度,并在文本框中允许一些特殊字符
- 一个jquery验证器方法,它不接受纯数字或纯特殊字符,但接受上面是否有字母
- 用于在Javascript中删除多个空格的特殊字符
- jQuery-Regex以防止任何特殊字符
- javascript正则表达式来识别所有特殊字符
- RegEx只获取特殊字符,前后不获取任何字符
- 如何使用JQuery检查输入(电子邮件)字段是否包含特殊字符
- Javascript:包括特殊字符的文本选择
- 获取特殊字符后没有单词的句子
- 替换字符串javascript中的所有特殊字符..
- 在cshtml中对特殊字符进行编码
- 从JavaScript中正确返回html中的特殊字符
- 使用javascript从字符串中删除额外或特殊字符时遇到问题