Escape 関数: 1. すべてのスペース、句読点、アクセント、およびその他の非 ASCII 文字を「%xx」16 進数シーケンス コードに置き換えることができるescape() 関数; 2. encodeURI() 関数、文字列はURI としてエンコードされる; 3. encodeURIComponent() 関数。
このチュートリアルの動作環境: 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 サイトの他の関連記事を参照してください。