JS中正則表達式替換單引號等說明

一般情況下,在拼接字符串爲json格式的過程中,如果字符串含有單引號,雙引號等特殊字符時,在解析json的過程中就會報錯。同樣,在別的格式使用的時候也會報錯。

通常做法是將其替換爲非特殊字符,然後再將其還原。

如下:

var word = "I'm json!"

var replacedWord = word.replace(/'/g,''');

然後再使用時又替換回來:

var preWord         =  replacedWord.replace(/'/g," ' ");

※ 或者使用escape() 和 unescape()方法

這種方法固然可以,但是在實際操作中未免繁瑣。。

 

經過摸索,只需替換一次,也可以直接使用含有單引號雙引號等特殊字符的字符串。

代碼如下:

//在特殊字符前加斜槓(轉義)

 function addSlashes (str) {
       return str.replace(/[\\"']/g, '\\$&');

}

 

正則表達式說明:

/[\\"']/g    全局搜索含有 "    ’的字符

\\$&        $&表示搜索到字符的引用,如果是'     則表示'       前加\\

 

這樣就可以直接使用含有單引號雙引號等特殊字符的字符串拼接json格式而保持原內容不發生改變。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章