6

w3schoolsencodeURIComponentは、機能について次のように述べています。

この関数は特殊文字をエンコードします。さらに、次の文字をエンコードします, / ? : @ & = + $ #

これは、円記号()をエンコードできないことを意味します\か?

4

1 に答える 1

16

この関数は、特殊文字をエンコードします。さらに、次の文字をエンコードします。, / ? : @ & = + $ # .

この定義は、「特殊文字」とは何かについてあいまいです。encodeURIとの比較のように聞こえencodeURIComponentます。どちらも として正しくエスケープ\される%5Cため、バックスラッシュについて心配する必要はありません。

encodeURIURI全体がエンコードされていると想定されるため、リストされた文字はそのままになります。

encodeURI('http://example.com/foo bar/baz.html');
//produces "http://example.com/foo%20bar/baz.html"

encodeURIComponent文字列がクエリ文字列の一部として使用されると想定されるため、すべてをエスケープします。

'http://example.com?foo=' + encodeURIComponent('http://example.com/fizz/buzz.html');
//produces "http://example.com?foo=http%3A%2F%2Fexample.com%2Ffizz%2Fbuzz.html"
于 2012-11-26T15:34:41.150 に答える