The current article is taken from https://developer.mozilla.org/
In some scenarios it is useful to encode and decode the URI. For example:
To avoid unexpected requests to the server, you should call encodeURIComponent on any user-entered parameters that will be passed as part of a URI. For example, a user could type "Thyme &time=again" for a variable comment. Not using encodeURIComponent on this variable will give comment=Thyme%20&time=again. Note that the ampersand and the equal sign mark a new key and value pair. So instead of having a POST comment key equal to "Thyme &time=again", you have two POST keys, one equal to "Thyme " and another (time) equal to again.
Encodes a Uniform Resource Identifier (URI) component by replacing each instance of certain characters by one, two, or three escape sequences representing the UTF-8 encoding of the character.
var encoded = encodeURIComponent(str);
encodeURIComponent escapes all characters except the following:
alphabetic, decimal digits, - _ . ! ~ * ' ( )
- _ . ! ~ * ' ( )
If we encode the URL of this blog:
we will get the following result:
Replaces each escape sequence in the encoded URI component with the character that it represents.
Decodes a Uniform Resource Identifier (URI) component previously created by encodeURIComponent or by a similar routine.
We can decode the previously encoded URL to get its original value:
var url = encodeURIComponent("http://blogs.telerik.com/SupportDept/Posts.aspx");
Vesselin Vassilev is an MCTS. He moved to Australia to help Aussie and Kiwi developers build the most awesome web sites in the world.
You can find him on twitter @vvassilev or LinkedIn.