用JavaScript實(shí)現(xiàn)UrlEncode和UrlDecode的腳本代碼
<script type="text/vbscript">
Function str2asc(strstr)
str2asc = hex(asc(strstr))
End Function
Function asc2str(ascasc)
asc2str = chr(ascasc)
End Function
</script>
將vbscript函數(shù)轉(zhuǎn)成javascript,方便非ie瀏覽器下使用
function str2asc(strstr){
return ("0"+strstr.charCodeAt(0).toString(16)).slice(-2);
}
function asc2str(ascasc){
return String.fromCharCode(ascasc);
}
<script type="text/javascript">
/*這里開始時(shí)UrlEncode和UrlDecode函數(shù)*/
function UrlEncode(str){
var ret="";
var strSpecial="!\"#$%&'()*+,/:;<=>?[]^`{|}~%";
var tt= "";
for(var i=0;i<str.length;i++){
var chr = str.charAt(i);
var c=str2asc(chr);
tt += chr+":"+c+"n";
if(parseInt("0x"+c) > 0x7f){
ret+="%"+c.slice(0,2)+"%"+c.slice(-2);
}else{
if(chr==" ")
ret+="+";
else if(strSpecial.indexOf(chr)!=-1)
ret+="%"+c.toString(16);
else
ret+=chr;
}
}
return ret;
}
function UrlDecode(str){
var ret="";
for(var i=0;i<str.length;i++){
var chr = str.charAt(i);
if(chr == "+"){
ret+=" ";
}else if(chr=="%"){
var asc = str.substring(i+1,i+3);
if(parseInt("0x"+asc)>0x7f){
ret+=asc2str(parseInt("0x"+asc+str.substring(i+4,i+6)));
i+=5;
}else{
ret+=asc2str(parseInt("0x"+asc));
i+=2;
}
}else{
ret+= chr;
}
}
return ret;
}
alert(UrlDecode("%C2%D2%C2%EB"));
</script>
相關(guān)文章
jquery和css3中的選擇器nth-child使用方法和用途示例
nth-child(),是CSS3中的一個(gè)偽類選擇符,JQuery選擇器繼承了CSS的部分語法,允許通過標(biāo)簽名、屬性名、內(nèi)容對(duì)DOM元素進(jìn)行快速、準(zhǔn)確的選擇。2023-03-03echarts如何實(shí)現(xiàn)帶百分比的橫向柱狀圖
近期在使用echart開發(fā)過程中遇到一些問題,需要開發(fā)橫向柱狀圖,下面這篇文章主要給大家介紹了關(guān)于echarts如何實(shí)現(xiàn)帶百分比的橫向柱狀圖的相關(guān)資料,需要的朋友可以參考下2021-12-12js生成動(dòng)態(tài)表格并為每個(gè)單元格添加單擊事件的方法
這篇文章主要介紹了使用javascript生成動(dòng)態(tài)表格并為每個(gè)單元格添加單擊事件,需要的朋友可以參考下2014-04-04javascript中的緩動(dòng)效果實(shí)現(xiàn)程序
javascript中的緩動(dòng)效果可以應(yīng)用于很多地方,比如距離位移上的變化:圖片的滾動(dòng)、焦點(diǎn)圖的輪轉(zhuǎn)切換,透明度上的變化:漸隱漸現(xiàn)。凡是存在運(yùn)動(dòng)的狀態(tài)都適用,下面以最基本的塊在容器內(nèi)從左到右滑動(dòng)為例,講下幾種不同的緩動(dòng)處理方式2012-12-12JS+html5 canvas實(shí)現(xiàn)的簡(jiǎn)單繪制折線圖效果示例
這篇文章主要介紹了JS+html5 canvas實(shí)現(xiàn)的簡(jiǎn)單繪制折線圖效果,結(jié)合實(shí)例形式分析了js結(jié)合HTML5 canvas技術(shù)實(shí)現(xiàn)圖形繪制的數(shù)值運(yùn)算與數(shù)組遍歷等操作技巧,需要的朋友可以參考下2017-03-03js實(shí)現(xiàn)類似于add(1)(2)(3)調(diào)用方式的方法
這篇文章主要介紹了js實(shí)現(xiàn)類似于add(1)(2)(3)調(diào)用方式的方法,需要的朋友可以參考下2015-03-03深入淺出理解JavaScript高級(jí)定時(shí)器原理與用法
這篇文章主要介紹了JavaScript高級(jí)定時(shí)器原理與用法,結(jié)合實(shí)例形式分析了javascript重復(fù)定時(shí)器相關(guān)問題與解決方法,并描述了函數(shù)節(jié)流的原理與相關(guān)操作方法,需要的朋友可以參考下2018-08-08