一般我们会在开发中碰到从后台取出的数据是html字符,比如引号、尖括号等等。
这里说一种比较普遍用到的方法 :
a.replace('a中的字符','需要替换的字符');```
例如:
var a = "aBcB";
var b = a.replace('B','b'); //b实际为"abcB"
可以看出第一个B被成功替换成了别的字符,但是也只有第一个被替换成功。
那就需要一个正则表达式:
>/ 要转义的字符 /g 标识全文匹配。
如:```
str.replace(/&/g,'&')```
那么,这样看来,我们可以把这个转义封装成一个函数。
function zifuzhuanyi(str) {
return str
.replace(/“/g,'“').replace(/”/g,'”')
.replace(/‘/g,'‘').replace(/’/g,'’')
.replace(/"/g,'"').replace(/'/g,"'")
.replace(/</g,'<').replace(/>/g,'>')
.replace(/……/g,'……')
.replace(/——/g,'——')
.replace(/&/g,'&')}
在取数据的时候,可以通过调用这个函数来完成需要转义的字符:
window.onload = function () {
$("#biaoti").val(zifuzhuanyi("{{empty($wz["biaoti"])?"":$wz["biaoti"]}}"));
$("#zuozhe").val(zifuzhuanyi("{{empty($wz["zuozhe"])?"":$wz["zuozhe"]}}"));
};