一般我們會在開發(fā)中碰到從后臺取出的數(shù)據(jù)是html字符,比如引號损同、尖括號等等翩腐。
這里說一種比較普遍用到的方法 :
a.replace('a中的字符','需要替換的字符');```
例如:
var a = "aBcB";
var b = a.replace('B','b'); //b實際為"abcB"
可以看出第一個B被成功替換成了別的字符膏燃,但是也只有第一個被替換成功茂卦。
那就需要一個正則表達式:
>/ 要轉(zhuǎn)義的字符 /g 標(biāo)識全文匹配。
如:```
str.replace(/&/g,'&')```
那么组哩,這樣看來等龙,我們可以把這個轉(zhuǎn)義封裝成一個函數(shù)处渣。
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,'&')}
在取數(shù)據(jù)的時候,可以通過調(diào)用這個函數(shù)來完成需要轉(zhuǎn)義的字符:
window.onload = function () {
$("#biaoti").val(zifuzhuanyi("{{empty($wz["biaoti"])?"":$wz["biaoti"]}}"));
$("#zuozhe").val(zifuzhuanyi("{{empty($wz["zuozhe"])?"":$wz["zuozhe"]}}"));
};