ywork2020.com

Title

URIをデコードする

目次 (INDEX)

decodeURIとは

ここで説明するdecodeURI とは次の語句からなるjavascriptの関数です。
decode
読み: デコード
意味: 暗号を解く、元のデータを復元すること
uniform
読み: ユニフォーム
意味: 統一
resource
読み: リソース
意味: 資源
identifier
読み: アイデンティファイア
意味: 識別子

目次に戻る

decodeURI関数の概要

この関数は encodeURI()関数 や同様のルーチンによって事前に作成された URI(Uniform Resource Identifier: 統一資源識別子)を復元することができます。

目次に戻る

構文

サンプルを見る前に構文を確認しておきます。

decodeURI(encoded URI)

目次に戻る

サンプルコードと実行結果

このサンプルでは識別子idSubmitURLの要素内のテキストをデコードして、 結果を識別子idOutputの要素内のテキストに出力します。

サンプルコードには含んでいませんが、idSubmitURLのテキストは、このページに サンプルの送信フォームからデータをGET送信した結果のURLになるように処理をしています。

サンプルコード: HTML
<body>
	<p>
		<samp id="idSubmitURL">
			https://example.com/encodeURI
		</samp>
	</p>
	<p>
		<output id="idOutput">
			https://example.com/decodeURI
		</output>
	</p>
</body>
  • 03-05: samp要素 (送信されたパラメーター付きのURLサンプルです。)
  • 08-10: output要素 (デコードしたURLの結果を出力します。)
サンプルコード: script
<script>
	let elmSubmitURL = document.getElementById("idSubmitURL");
	let elmOutput = document.getElementById("idOutput");
	elmOutput.innerText = decodeURI(elmSubmitURL.innerText);
</script>
  • 02: 変数 elmSubmitURL (idSubmitURLの要素を参照するための変数です。)
  • 03: 変数 elmOutput (idOutputの要素を参照するための変数です。)
  • 04: デコード処理と出力 (elmSubmitURLのinnerTextをデコードしています。)
実行結果:

氏名:

年齢:

送信:

ここでは送信を無効にしています。下記は、このフォームから送信されたパラメーター付きのURLのサンプルです。 URLのパラメーターは漢字やひらがな等は文字化けしているように見えますが、 これはデータをutf-8にエンコードした結果です。

URLサンプル: id="idSubmitURL"
https://example.com/encodeURI

↓ decodeURI ↓

結果: id="idOutput"
https://example.com/decodeURI

目次に戻る