JavaScript URIエンコード(encodeURIComponentとdecodeURIComponent)

JavaScriptのURIのエンコードとデコードのサンプルです。
encodeURIComponent関数とdecodeURIComponent関数を使用します。

目次

encodeURIComponent関数

encodeURIComponent  ( 文字列 )

コード

エンコードのサンプルです。

<script>

const str1 = 'あいAB1212';
console.log(encodeURIComponent(str1));
// %E3%81%82%E3%81%84AB12%EF%BC%91%EF%BC%92

const str2 = 'a1-_.!~*\'()?:#$&=';
console.log(encodeURIComponent(str2)); 
// a1-_.!~*'()%3F%3A%23%24%26%3D

</script>

8行目のアルファベット、10進数字、- _ . ! ~ * ' ( ) は、エスケープされていません。

 

decodeURIComponent関数

decodeURIComponent ( encodeURIComponentでエンコードされた文字列 )

コード

デコードのサンプルです。

<script>

const str1 = "%E3%81%82%E3%81%84AB12%EF%BC%91%EF%BC%92";
console.log(decodeURIComponent(str1)); // あいAB1212

const str2 = "a1-_.!~*'()%3F%3A%23%24%26%3D";
console.log(decodeURIComponent(str2)); // a1-_.!~*'()?:#$&=

</script>

6行目のencodeURIComponent関数でエスケープされない文字(a1-_.!~*'())は、そのまま出力されます。

関連の記事

以下のページで試すことができます。
URLエンコードとURLデコードを行うWebツール

△上に戻る