解決辦法如下:
1.用ASCII碼替換百分號(hào)和與符號(hào)
var remark = $("#remark").val(); remark.replaceAll("ASCII69","%").replaceAll("ASCII70","&");//展示時(shí)需要對(duì)原先替換的進(jìn)行還原展示remark.replaceAll("%","ASCII69").replaceAll("&","ASCII70");2.在jquery中用編碼轉(zhuǎn)換來(lái)實(shí)現(xiàn)百分號(hào)的保存
//encodeURI() 函數(shù)可把字符串作為 URI 進(jìn)行編碼。//對(duì)以下在 URI 中具有特殊含義的 ASCII 標(biāo)點(diǎn)符號(hào),encodeURI() //函數(shù)是不會(huì)進(jìn)行轉(zhuǎn)義的: , / ? : @ & = + $ var uri="my test.php?name=%fff&car=saab#&";document.write(encodeURI(uri)+ "<br>");
結(jié)果為:
my%20test.php?name=%25fff&car=saab#&
這里將百分號(hào)編碼為 %25
//decodeURI() 函數(shù)可對(duì) encodeURI() 函數(shù)編碼過(guò)的 URI 進(jìn)行解碼。//提示: 使用 encodeURI() 函數(shù)可以對(duì) URI 進(jìn)行編碼。encodeURIComponent() 函數(shù)可把字符串作為 URI 組件進(jìn)行編碼。
該方法不會(huì)對(duì) ASCII 字母和數(shù)字進(jìn)行編碼,也不會(huì)對(duì)這些 ASCII 標(biāo)點(diǎn)符號(hào)進(jìn)行編碼: - _ . ! ~ * ' ( ) 。
其他字符(比如 :;/?:@&=+$,# 這些用于分隔 URI 組件的標(biāo)點(diǎn)符號(hào)),都是由一個(gè)或多個(gè)十六進(jìn)制的轉(zhuǎn)義序列替換的。
var uri="http://w3cschool.cn/my test.php?name=ståle&car=saab";document.write(encodeURIComponent(uri));//結(jié)果展示:http%3A%2F%2Fw3cschool.cn%2Fmy%20test.php%3Fname%3Dst%C3%A5le%26car%3Dsaab //decodeURIComponent() 函數(shù)可對(duì) encodeURIComponent()// 函數(shù)編碼的 URI 進(jìn)行解碼。//提示:使用 encodeURIComponent() 方法可以對(duì) URI 進(jìn)行編碼。
總結(jié)
以上所述是小編給大家介紹的js input輸入百分號(hào)保存數(shù)據(jù)庫(kù)失敗的解決方法,希望對(duì)大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
新聞熱點(diǎn)
疑難解答
圖片精選