JavaScriptでURLをエンコードする方法!encodeURI()の使い方を解説
JavaScriptでURLをエンコードするには、encodeURI()メソッドを使用します。このメソッドを使うことで、スペースや日本語などURLにそのまま含めることができない文字を、パーセントエンコーディング形式に変換できます。
encodeURI()の基本構文
encodeURI(URI)
引数にはエンコードしたいURI文字列を渡します。戻り値として、エンコード処理された文字列が返されます。
サンプルコード
以下のコードを実行すると、URLをエンコードした結果を確認できます。ボタンをクリックすると、エンコードされた文字列が画面に表示されます。
<!DOCTYPE html>
<html>
<body>
<button onclick="display()">Encode</button>
<p id="demo"></p>
<script>
function display() {
var encode = "welcome msg.jsp?name=åmit&sub=programming";
var result = encodeURI(encode);
document.getElementById("demo").innerHTML = result;
}
</script>
</body>
</html>実行結果の例
ボタンをクリックすると、スペースが「%20」に置き換えられるなど、URLとして安全な形式に変換された文字列が出力されます。
encodeURI()とencodeURIComponent()の違い
JavaScriptには、よく似た機能を持つencodeURIComponent()メソッドも用意されています。両者の違いは以下の通りです。
- encodeURI():URL全体をエンコードする場合に使用します。「:」「/」「?」「&」などのURL構造に必要な予約文字はそのまま残されます。
- encodeURIComponent():クエリパラメータなどURLの一部をエンコードする場合に使用します。予約文字も含めてほぼすべての特殊文字がエンコードされます。
用途に応じて適切なメソッドを選択することで、意図しない文字化けやリンク切れを防ぐことができます。
-
JavaScriptでページを印刷するにはどうすればよいですか?
JavaScriptでページを印刷するには、print()メソッドを使用します。このメソッドを呼び出すと、ブラウザの標準的な印刷ダイアログボックスが開き、どのプリンターを使用するか、部数はいくつにするかといった印刷オプションを簡単に設定できます。以下は、実際に印刷ダイアログが表示された様子の例です。サンプルコード次のコードを実行すると、ボタンをクリックするだけでページを印刷できる動作を確認できます。<!DOCTYPE html> <html> <body> &nb
-
JavaScriptでURLオブジェクトを作成する方法をわかりやすく解説
JavaScriptでは、標準組み込みのURLコンストラクタを使うことで、URL文字列からURLオブジェクトを簡単に生成できます。URLオブジェクトを作成すると、プロトコル(protocol)やホスト名(host)、パス(pathname)など、URLを構成する各要素に個別にアクセスできるようになるため、URLの解析や操作がとても便利になります。 URLオブジェクトの作成例 以下は、JavaScriptでURLオブジェクトを作成し、ボタンをクリックするとその各プロパティを画面に表示するサンプルコードです。 <!DOCTYPE html> <html lang="