JavaScript の encodeURI と encodeURIComponet を使ってみる
JavaScript
Published: 2019-06-09

やったこと

JavaScript の encodeURI と encodeURIComponet を使ってみます。

確認環境

navigator.userAgent
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36"

調査

encodeURI を使う

encodeURI("/hogehoge/index?a=22&b=ああ")
"/hogehoge/index?a=22&b=%E3%81%82%E3%81%82"

エスケープされない文字: A-Z a-z 0-9 ; , / ? : @ & = + $ - _ . ! ~ * ‘ ( ) #

encodeURIComponent を使う

encodeURIComponent("/hogehoge/index?a=22&b=ああ")
"%2Fhogehoge%2Findex%3Fa%3D22%26b%3D%E3%81%82%E3%81%82"

encodeURIComponent は次を除く全ての文字をエスケープします : アルファベット、10進数字、- _ . ! ~ * ‘ ( )

encodeURIComponent は、URI の構成要素となる文字列 をエスケープするものです。

参考