JavaScript in Escape (), unescape (), encodeURI (), encodeURIComponent (), decodeURI (), decodeuricomponent () comparison

Source: Internet
Author: User

These URI methods encodeURI, encodeURIComponent (), decodeURI (), decodeuricomponent () Replace the Escape () and unescape () methods of the BOM. URI methods are preferable because they encode all Unicode symbols, whereas the BOM method can encode only the ASCII symbols correctly. Avoid using the escape () and unescape () methods as much as possible. Excerpt from JavaScript advanced book.

JS to encode the text involves 3 functions: Escape,encodeuri,encodeuricomponent, the corresponding 3 decoding function: unescape,decodeuri,decodeuricomponent

1, passing parameters need to use encodeuricomponent, so that the combined URL will not be # and other special characters truncated.

For example: <script language= "JavaScript" >document.write (' <a href= ' http://passport.baidu.com/?logout&aid=7 &u= ' +encodeuricomponent ("http://cang.baidu.com/bruce42") + ' "> Exit </a> ');</script>

2, the URL to jump when you can use the whole encodeURI

For example: Location.href=encodeuri (http://cang.baidu.com/do/s?word= Baidu &ct=21);

3, JS Use the data can use escape

For example: Search the history record of the Tibetan.

4, Escape to the Unicode value other than 0-255 to encode the output%u**** format, in other cases escape,encodeuri,encodeuricomponent encoding results are the same.

The most used should be encodeuricomponent, which is to convert the Chinese, Korean and other special characters into the utf-8 format of the URL encoding, So if you need to use encodeURIComponent to pass parameters to the background, you need the background decoding to Utf-8 support (the encoding in form is the same as the current page encoding method)

Escape does not encode characters with 69: *,+,-,.,/,@,_,0-9,a-z,a-z

encodeURI does not encode 82 characters:!,#,$,&, ', (,), *,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,a-z

encodeURIComponent does not encode 71 characters:!, ', (,), *,-,.,_,~,0-9,a-z,a-z

========================================================

Unescape method

Returns the decoded string from a string object encoded with the escape method.

function unescape (charstring:string): String


Parameters

Charstring

Must be selected. The String object or text to decode.

Note

The Unescape method returns a string value that contains the contents of the charstring. All characters encoded in the%XX 16 format are replaced by the equivalent characters in the ASCII character set. Characters encoded in%UXXXX format (Unicode characters) are replaced with hexadecimal-encoded XXXX Unicode characters. Note the Unescape method should not be used to decode the Uniform Resource Identifier (URI). Use the decodeURI and decodeURIComponent methods instead.

decodeURI method

Returns a non-encoded form of an encoded Uniform Resource Identifier (URI).

function decodeURI (uristring:string): String

Parameters

Uristring

Must be selected. A string that represents the encoded URI.

Note

Use the decodeURI method instead of the obsolete unescape method.

The decodeURI method returns a string value.

If uristring is not valid, Urierror will occur.

decodeURIComponent method

Returns the non-encoded form of an encoded component of a Uniform Resource Identifier (URI).

function decodeURIComponent (encodeduristring:string): String

The required encodeduristring parameter is a value that represents the encoded URI component.

Note

Uricomponent is part of a complete URI

JavaScript in Escape (), unescape (), encodeURI (), encodeURIComponent (), decodeURI (), decodeuricomponent () comparison

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.