【JavaScript】 JavaScriptで urlencode() する方法。

JavaScript でURLエンコードする方法を何度も何度も調べてる気がするので、いい加減メモる。

groundwalker.com さんが、詳しく比較してくださっている。

エンコードする関数には、 escape(), encodeURI(), encodeURIComponent() の3種類、それぞれ対応するデコード関数 unescape(), decodeURI(), decodeURIComponent() が用意されている。

次の文字列は、http://www.aaa.jp/?text=あ ああescape()した結果。(JavaScriptがONじゃないと見えません)

同じく encodeURI()した結果。(JavaScriptがONじゃないと見えません)

同じく encodeURIComponent()した結果。(JavaScriptがONじゃないと見えません)

次は、同じ文字列を PHPの rawurlencode() に通した結果。

http%3A%2F%2Fwww.aaa.jp%2F%3Ftext%3D%E3%81%82%20%E3%81%82%E3%81%82

JavaScript の3種の関数のうち、PHP の rawurlencode() と同じ結果が欲しいなら、encodeURIComponent() を使えばよいらしい。(RFC 1738 規格に基づくと書かれている)

ちなみに、PHPの urlencode() は、スペースが %20 ではなく + に変換されるところが異なる。

http%3A%2F%2Fwww.aaa.jp%2F%3Ftext%3D%E3%81%82+%E3%81%82%E3%81%82

プロフィール

コヤナギ トモヤ

まったりウェブ系コーダーしてます。PHP製静的CMS Pickles 2 を開発しています。

RSSフィード

  • このサイトは、 コヤナギ トモヤ の個人サイトです。
  • 個人的な主張や、活動の記録などを掲載しています。 所属する企業、団体、その他の意見や立場を代表するものではありません。
  • 掲載された内容は古くなっている可能性があります。 特に古い記事では、現在の筆者の考えと異なる主張をしていることがありますが、記録としてそのまま残しております。 予めご了承ください。
ページの先頭へ戻る