ホームページ > ウェブフロントエンド > フロントエンドQ&A > JavaScriptのエスケープ関数とは何ですか?

JavaScriptのエスケープ関数とは何ですか?

青灯夜游
リリース: 2023-01-06 11:18:01
オリジナル
2897 人が閲覧しました

Escape 関数: 1. すべてのスペース、句読点、アクセント、およびその他の非 ASCII 文字を「%xx」16 進数シーケンス コードに置き換えることができるescape() 関数; 2. encodeURI() 関数、文字列はURI としてエンコードされる; 3. encodeURIComponent() 関数。

JavaScriptのエスケープ関数とは何ですか?

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

js には、escape() と unescape()、encodeURI() と decodeURI()、encodeURIComponent() と decodeURIComponent() など、エスケープとエスケープ解除に使用できる関数が多数あります。 。

1.escape() および unescape()

escape() 関数は、パラメータを文字列および URL エンコード形式に変換します。エンコード。この形式では、すべてのスペース、句読点、アクセント、およびその他の非 ASCII 文字が %xx 16 進数シーケンス コードに置き換えられます。スペースが返された場合。

   escape(param);
ログイン後にコピー

パラメータ param は、文字列に変換され、URL エンコード形式でエンコードされた式です。

unescape() 関数はその逆で、URL エンコード形式の文字列をデコードして文字列を返します。

   unescape(param);
ログイン後にコピー

例:

   escape("Hello{[World]}");
ログイン後にコピー

エスケープ結果:

Hello%7B%5BWorld%5D%7D
ログイン後にコピー
 unescape("Hello%7B%5BWorld%5D%7D")
ログイン後にコピー

戻り結果:

Hello{[World]}
ログイン後にコピー

欠点:escape() およびunescape() ASCII 文字のみを処理できるため、エスケープとデコードにこれら 2 つのメソッドを使用することは推奨されません。

2.encodeURI() および decodeURI()

encodeURI() 関数は、テキスト文字列を有効な統合リソース識別子にエンコードします。 (URI)。そして、decodeURI() は URI を通常の文字列にデコードします。

encodeURI(param);

param はエンコードされる文字列です

decodeURI(param);

まさにその逆です

例:

encodeURI("Hello{[World]}")

エスケープ結果は次のようになります: Hello{[World]}

decodeURI("Hello{[ World ]}")

返される結果: Hello{[World]}。

注:

encodeURI() 関数だけでは、HTTP GET リクエストまたは POST リクエストを形成できません。これは、&、、、= などの文字がトランスコードされないためです。 GET または POST リクエストでは特殊文字として扱われます。

3.encodeURIComponent() と decodeURIComponent()

これら 2 つの関数は、

decodeURIComponent(URIString)
ログイン後にコピー
のエンコードとデコードにも使用されます。

URIString は、エンコードされた URI コンポーネントです。

encodeURIComponent(URIString)
ログイン後にコピー

例:

var aa='哈哈+呵呵';
encodeURIt(aa)  //'哈哈 呵呵'
encodeURIComponent(aa)  //'哈哈+呵呵'
ログイン後にコピー

encodeURIComponent() は、英字、数字、-、_、.、!、~、*、'、(、)

# を除くすべての文字を変換できます。 ##プログラミング関連の知識については、

プログラミング ビデオをご覧ください。 !

以上がJavaScriptのエスケープ関数とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート