js URLをurlencodeタイプに変換

1407 ワード

passportプロジェクトとしてジャンプURLを作る必要がありますが、一般的にはphpが持参したurlencode方式で解決されていますが、今はJSでも処理できます!
呼び出し方法は、次の関数をjsファイルに書き、encodeを呼び出すウェブサイトの変更をサポートします.




     
 
function UrlEncode(str) 
{ 
return transform(str); 
} 
    
function transform(s) 
{ 
var hex=''    
var i,j,t 
    
j=0 
for (i=0; i<s.length; i++) 
{ 
t = hexfromdec( s.charCodeAt(i) ); 
if (t=='25') 
{ 
t=''; 
} 
hex += '%' + t; 
} 
return hex; 
} 
    
function hexfromdec(num) { 
if (num > 65535) { return ("err!") } 
first = Math.round(num/4096 - .5); 
temp1 = num - first * 4096; 
second = Math.round(temp1/256 -.5); 
temp2 = temp1 - second * 256; 
third = Math.round(temp2/16 - .5); 
fourth = temp2 - third * 16; 
return (""+getletter(third)+getletter(fourth)); 
} 
    
function getletter(num) { 
if (num < 10) { 
return num; 
} 
else { 
if (num == 10) { return "A" } 
if (num == 11) { return "B" } 
if (num == 12) { return "C" } 
if (num == 13) { return "D" } 
if (num == 14) { return "E" } 
if (num == 15) { return "F" } 
} 
} 
function goto(){
	location.href='http://demo3.test.com/tt.php?url='+UrlEncode('http://www.baidu.com/baidu?wd=%C0%CB%C2%FE%C2%FA%CE%DD&tn=monline_4_dg');
}
//alert(UrlEncode("http://www.baidu.com/")); 




1212