javascript - ajax提交数据时,如何用正则表达式替换掉"号?
本文介绍了javascript - ajax提交数据时,如何用正则表达式替换掉"号?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
有个需求,在向后台提交数据时,将"字符转义后再提交。
前台的数据既有对象格式(或数组),也有JSON格式,我会在ajax请求前,将数据统一转为JSON格式,这个时候,如果输入有",那么,会被转为",数据格式如下:
"{"houseTypeName":"\"good","coveredArea":"4567","tablePrice":"4567","buildingId":"9"}"
希望通过正则表达式,改为:
"{"houseTypeName":""good","coveredArea":"4567","tablePrice":"4567","buildingId":"9"}"
但是,我实验了/\"/g或者/"/g,都不行,会把所有"转义,这样肯定是不对的。
求正则大神支招,万分感谢!
解决方案
可以在json对象转为字符串之前迭代整个json对象,对所有字符串的值进行替换后再将json转为字符串提交给后台
//如果你本身是字符串,请先将字符串转为json对象(JSON.parse/或jQuery.parseJSON)
var json = {"houseTypeName":"\"good","coveredArea":"4567","tablePrice":"4567","buildingId":"9"};
for(var key in json)
if(typeof json[key] ==='string')
json[key] = json[key].replace(/"/g,'"');
console.log(JSON.stringify(json));
这篇关于javascript - ajax提交数据时,如何用正则表达式替换掉"号?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文