前端js處理多張圖片路徑中出現的特殊字元問題
阿新 • • 發佈:2021-11-22
前端js處理多張圖片路徑中出現的特殊字元問題
問題:在一個字串中,一個圖片url的路徑是:例如下面
;http://172.;16.70.200/file/img;/car1.jpeg;http://172.16.70.200/file;/img/car1.jpeg;
是不是多了‘;’特殊字元,不是我們想要的,需要把';'去掉,這是一個由多張圖片組成的一個字串,而且每個http之間確實有一個正確的';',所以還不能直接用replace替換,不然正確的也會被替換掉,直接貼上我的解決方案
//;http://172.;16.70.200/file/img;/car1.jpeg;http://172.16.70.200/file;/img/car1.jpeg; function getPicListFrom(values) { console.log(values); if(values==null){ return new Array(); } var arr=values.split(";");; if (arr == null) { return new Array(); } if (arr.length == 1) { return arr; } var ret = new Array(); var temp = ''; for (var k = 0; k < arr.length; k++) { if (arr[k] == null || arr[k] == '') { continue; } if (temp != '') { temp = temp + ';'; } temp = temp + arr[k]; if (k < arr.length - 1) { var t = arr[k + 1]; if (t == null || t == '' || (t.startWith('http') || t.startWith('ftp'))) { ret[ret.length] = temp; temp = ''; } } else { ret[ret.length] = temp; } } var ress = new Array(); for(var j = 0;j < ret.length;j++) { ress.push(ret[j].replaceAll(";","")); } return ress; }
可以看到,入參是異常的url http://172.;16.70.200/file/img/car1.jpeg;http://172.16.70.200/file;/img/car1.jpeg
出參是正常的js陣列
0: "http://172.16.70.200/file/img/car1.jpeg"
1: "http://172.16.70.200/file/img/car1.jpeg"
希望能幫到有需要的童鞋~~~