js input输入百分号保存数据库失败的解决方法
网络 2018-08-07 1367
解决办法如下:
1.用ASCII码替换百分号和与符号
1 2 3 4 | var remark = $("#remark").val(); remark.replaceAll("ASCII69","%").replaceAll("ASCII70","&"); //展示时需要对原先替换的进行还原展示 remark.replaceAll("%","ASCII69").replaceAll("&","ASCII70"); |
2.在jquery中用编码转换来实现百分号的保存
1 2 3 4 5 | //encodeURI() 函数可把字符串作为 URI 进行编码。 //对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() //函数是不会进行转义的: , / ? : @ & = + $ var uri="my test.php?name=%fff&car=saab#&"; document.write(encodeURI(uri)+ "<br>"); |
结果为:
my%20test.php?name=%25fff&car=saab#&
这里将百分号编码为 %25
1 2 3 | //decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。 //提示: 使用 encodeURI() 函数可以对 URI 进行编码。 encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。 |
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。
1 2 3 4 5 6 7 8 | var uri="http://w3cschool.cn/my test.php?name=ståle&car=saab"; document.write(encodeURIComponent(uri)); //结果展示: http%3A%2F%2Fw3cschool.cn%2Fmy %20test.php%3Fname%3Dst%C3%A5le%26car%3Dsaab //decodeURIComponent() 函数可对 encodeURIComponent() // 函数编码的 URI 进行解码。 //提示:使用 encodeURIComponent() 方法可以对 URI 进行编码。 |
上一篇:使用javascript函数编写简单银行取钱存钱流程
下一篇:成本管理的基本内容