JavaScript:URL中存在特殊字符怎麼辦?

       樓主上午閒的無聊,把項目中其中的一個板塊重新做了一遍。在往html頁面中傳參數(URL)的時候發現,如果傳入的URL參數中存在特殊字符(“#”),則通過URL訪問圖片文件來達到預覽文件的功能就會出錯,而其餘的URL中並沒有(“#”)這個特殊字符,預覽功能則正常實現。有網友提供了一個解決辦法:將”#”替換成”%23”。
        通過驗證,證實方法可行。即使用replace()函數可以替換URL中的”#”。亦即使用replace(“#”,”%23”)或者replace(/#/,”%23”)來實現。但是JavaScript中的replace()有個問題,它只會替換第一個匹配的字符,若後面還有需要替換的字符,其不做處理。網友給出了一個解決方案:將replace(/#/,”%23”)寫成replace(/#/g,”%23”)即可完成替換所有需要替換的字符。


未替換特殊字符之前的JS代碼:

document.getElementById("swapperInput").value = "" + r.preview;

替換特殊字符之後的JS代碼:

document.getElementById("swapperInput").value = "" + r.preview.replace(/\#/g,"%23");
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章