URL转码

我们在web开发的过程中,有时参数是中文的,或者是一些比较特殊的符合如~!@@#¥#¥%%…………&**(等,这些请求在链接里面如果通过get方式还是可以传送的,post就不行了。需要转码。

转码可以使用jq里面的几个方法。

1.escape()

这个方法除了字母,数字,和特定的符号不转,其他都转。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
</head>
<script type="text/javascript" src="js/jquery-1.8.3.js" ></script>
<body  bgcolor="azure"> 
    
</body>
</html>
<script type="text/javascript">
    var i=escape("http://www.w3cSchool.cn");
    console.log(i);//test.html:14 http%3A//www.w3cSchool.cn
    var j=escape(".@!#$%^&*()_+=-?';.,][\~`{}<>?")  
    //.@%21%23%24%25%5E%26*%28%29_+%3D-%3F%27%3B.%2C%5D%5B%7E%60%7B%7D%3C%3E%3F
    console.log(j)
</script>

2.encodeURI()

除了合法字符都不会被编码转换,其他都转,合法的如下:- _ . ! ~ * ' ( )

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
</head>
<script type="text/javascript" src="js/jquery-1.8.3.js" ></script>
<body  bgcolor="azure"> 
    
</body>
</html>
<script type="text/javascript">
    var i=encodeURI("http://www.w3cSchool.cn");
    console.log(i);//http://www.w3cSchool.cn
    var j=encodeURI(".@!#$%^&*()_+=-?';.,][\~`{}<>?")  
    //.@!#$%25%5E&*()_+=-?';.,%5D%5B~%60%7B%7D%3C%3E?
    console.log(j)
</script>

3.encodeURIComponent()特殊符号转,中文也转,最常用。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
</head>
<script type="text/javascript" src="js/jquery-1.8.3.js" ></script>
<body  bgcolor="azure"> 
    
</body>
</html>
<script type="text/javascript">
    var i=encodeURIComponent("http://www.w3cSchool.cn哈啊哈");
    console.log(i);//http%3A%2F%2Fwww.w3cSchool.cn%E5%93%88%E5%95%8A%E5%93%88
    var j=encodeURIComponent(".@!#$%^&*()_+=-?';.,][\~`{}<>?")  
    //.%40!%23%24%25%5E%26*()_%2B%3D-%3F'%3B.%2C%5D%5B~%60%7B%7D%3C%3E%3F
    console.log(j)
</script>

转载于:https://www.cnblogs.com/lq625424841/p/7505758.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值