JavaScriptで文字列をエンコードする方法!escape()とencodeURIComponent()の違いも解説
JavaScriptでは、従来escape()関数を使って文字列をエンコードすることができました。しかし、escape()関数は現在非推奨(deprecated)となっているため、今後はencodeURI()またはencodeURIComponent()を使用するのが推奨されます。
構文1:escape()
escape(string);
構文2:encodeURIComponent()
encodeURIComponent(str);
encodeURI()とencodeURIComponent()の違い
encodeURI()はURL全体を対象とし、URL構造に必要な「/」「?」「&」などの記号はエンコードせずに残します。一方、encodeURIComponent()は文字列の一部(クエリパラメータなど)を対象とし、より多くの記号をエンコードします。用途に応じて適切な方を選びましょう。
例1:escape()を使う場合
次の例では、escape()メソッドを使用して、文字列「Tutorix is the best e-learning platform!!!」をエンコードし、その結果を表示しています。
<html>
<body>
<script>
document.write(escape("Tutorix is the best e-learning platform!!!"));
</script>
</body>
</html>出力
Tutorix%20is%20the%20best%20e-learning%20platform%21%21%21
このように、escape()では半角の感嘆符(!)も「%21」にエンコードされる点に注意が必要です。
例2:encodeURIComponent()を使う場合
次の例では、encodeURIComponent()メソッドを使用して、指定された文字列をエンコードし、その結果を表示しています。
<html>
<body>
<script>
document.write(encodeURIComponent("Tutorix is the best e-learning platform!!!"));
</script>
</body>
</html>出力
Tutorix%20is%20the%20best%20e-learning%20platform!!!
encodeURIComponent()の場合は、感嘆符(!)はエンコードされずそのまま表示されます。現在の開発では、escape()ではなくencodeURIComponent()を使用することで、より安全かつ標準準拠の文字列エンコードが実現できます。
-
JavaScriptで文字列を検索する方法【search()メソッドの使い方を解説】
JavaScriptで文字列を検索する方法 JavaScriptで文字列の中から特定の文字列を探すには、search()メソッドを使用します。このメソッドは、引数に渡した文字列(または正規表現)が対象の文字列内で最初に一致した位置(インデックス)を返し、見つからなかった場合は -1 を返します。 以下は、JavaScriptで文字列を検索するサンプルコードです。 サンプルコード <!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8" />
-
文字列をJavaScriptオブジェクトに変換する方法【JSON.parse()の使い方】
JavaScriptでJSON形式の文字列をオブジェクトに変換するには、JSON.parse()メソッドを使用します。このメソッドは、引数に渡された文字列を解析(パース)し、対応するJavaScriptオブジェクトを返します。 サンプルコード <!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Docum