最近查一個bug,原因是JS中的Replace方法造成的,當將一個字串中有處需要替換時,一般會用到JS中的Replace方法,Replace方法的第一個參數如果是傳的字串,只會替換第一個。程式碼如下:
var str = "0CEA65D5-DB8E-4876-A6F8-C88AC7F0E185,E846C244-8A19-4374-879B-0B1DC08D1747,6CB3EBA4-1E22-4E413860FAE>
alert(str.replace(",","','"));
上面的代碼本意是將用逗號隔開的GUID的逗號替換成',',但實際結果只將第一個逗號替換了。
解決這個問題只要將replace的第一個參數使用正規的方式即可,程式碼如下:
var reg = new RegExp(",","g");
var str = "0CEA65D5-DB8E-4876-A6F8-C88AC7F0E185,E846C244-8A19-4374-879B-0B1DC08D1747,6CB3EBA4-1E22-4E413860FAE>
alert(str.replace(reg,"','"));
結果如下:
以上所述就是文本的全部內容了,希望對大家學習javascript能夠有所幫助。