みかづきブログ その3

3ヶ月つづけてみました。

fixedEncodeURIComponentをつくろう。

前々回、URLエンコードについて調べましたが、encodeURIをつかったとしても、

- _ . ! ~ * ' ( )

エンコードされないことがわかりました。
これらのうち、

! * ' ( )

はURLに予約されている文字になったため、
これらの文字を含めてエスケープしたい場合は、

function fixedEncodeURIComponent (str) {
    return encodeURIComponent(str).replace(/[!'()]/g, escape).replace(/\*/g, "%2A");
}

的な関数をつくってつかうと良いらしいです。

encodeURIComponent - JavaScript | MDN