javascript脚本中可以使用 encodeURI() 与 encodeURIComponent() 函数对url进行编码,虽然这个函数的作用目的都是一样的,但他们对url的处理结果也有些许的不同,具体方法可以参考下面的示例。

js encodeURI() 函数对url进行编码

encodeURL() 可以对整个url进行编码,但是对一些字符比如“/ ? : @ & = + $ , #”是不进行处理的!

例:

console.log(encodeURI('http://www.feiniaomy.com'));
console.log(encodeURI('http://www.feiniaomy.com/my index'));
console.log(encodeURI('http://www.feiniaomy.com/?w=2&em=mochu@126.com'));

打印结果:

http://www.feiniaomy.com
http://www.feiniaomy.com/my%20index
http://www.feiniaomy.com/?w=2&em=mochu@126.com

js encodeURIComponent() 函数

encodeURIComponent():可以对url的组成部份进行个别的编码

例:

console.log(encodeURIComponent('http://www.feiniaomy.com'));
console.log(encodeURIComponent('http://www.feiniaomy.com/my index'));
console.log(encodeURIComponent('http://www.feiniaomy.com/?w=2&em=mochu@126.com'));

打印结果:

http%3A%2F%2Fwww.feiniaomy.com
http%3A%2F%2Fwww.feiniaomy.com%2Fmy%20index
http%3A%2F%2Fwww.feiniaomy.com%2F%3Fw%3D2%26em%3Dmochu%40126.com