我在JS中遇到了這個問題,用撇號(「'」)。我使用encodeURIComponent()來編碼,然後用(%27)替換(')如下。JS - 撇號 - 不會被替換
var request = encodeURIComponent(requestString).replace(「'」,「%27」);
但是,如果撇號與括號,撇號不會被取代。
例如:。( 「) ' 」) (「')」) ( 「(」「)
即使撇號後面是它不會被替換數字號碼
是有沒有提前爲這個解決方案?
感謝。
Nilushi
我在JS中遇到了這個問題,用撇號(「'」)。我使用encodeURIComponent()來編碼,然後用(%27)替換(')如下。JS - 撇號 - 不會被替換
var request = encodeURIComponent(requestString).replace(「'」,「%27」);
但是,如果撇號與括號,撇號不會被取代。
例如:。( 「) ' 」) (「')」) ( 「(」「)
即使撇號後面是它不會被替換數字號碼
是有沒有提前爲這個解決方案?
感謝。
Nilushi
你需要指定/g
全球改性劑:
var request = encodeURIComponent(requestString).replace(/'/g, "%27");
實施例:
var str = "(''')";
var request = encodeURIComponent(str).replace(/'/g, "%27");
console.log(request); // (%27%27%27)
String.replace
方法接受字符串或正則表達式作爲它的第一個參數。當一個字符串作爲第一個參數傳遞,只有第一場比賽被替換:
"'''''".replace("'", "%27"); // "%27''''"
您應該使用正則表達式,而不是隨着g
標誌;它取代所有的匹配:
"'''''".replace(/'/g, "%27"); // "%27%27%27%27%27"
+1很好地解釋它爲OP – Blaster