URLエンコードの落とし穴
以下の文字をcodeURI()でエンコードしたつもりがなぜか#だけエンコードされずに困った。
あいうえお#わを
解決方法
#で文字を分割して、それぞれエンコードした文字をエンコードした#(%23)で繋げる。めんどくせー。
#が付かない場合もあるので条件分岐も入れた。
var hoge = “あいうえお#わを”;
if(hoge.indexOf(“#”)>0){
var ahoge = hoge.split(“#”);
var encohoge = encodeURI(ahoge[0]) + “%23” + encodeURI(ahoge[1]);
} else {
var encohoge = encodeURI(hoge);
}
他に良い方法があったら教えて。