秋水写过urlEncode,不过光映射字典就几十k了,帖不上来。试试我这个:
<SCRIPT LANGUAGE="JavaScript">
<!--
function urlEncode(st){
return showModalDialog('javascript:document.write("<iframe name=I style=\'display:none\'></iframe><form name=F method=get target=I><input type=hidden name=S></form>");document.F.S.value=unescape(\''+escape(st)+'\');document.F.submit();setTimeout(\'returnValue=(I.location.search.substr(3));close()\',0);',null,"dialogHeight:0px;dialogWidth:0px;dialogTop:-100px;dialogLeft:-100px");
}
//-->
</SCRIPT>
<input name=srcString>
<button onclick="alert(urlEncode(srcString.value))">test</button>我用的IE6SP1,不支持about:,所以用javascript:绕过。不知道对低版本的浏览器支持性如何。
<SCRIPT LANGUAGE="JavaScript">
<!--
function urlEncode(st){
return showModalDialog('javascript:document.write("<iframe name=I style=\'display:none\'></iframe><form name=F method=get target=I><input type=hidden name=S></form>");document.F.S.value=unescape(\''+escape(st)+'\');document.F.submit();setTimeout(\'returnValue=(I.location.search.substr(3));close()\',0);',null,"dialogHeight:0px;dialogWidth:0px;dialogTop:-100px;dialogLeft:-100px");
}
//-->
</SCRIPT>
<input name=srcString>
<button onclick="alert(urlEncode(srcString.value))">test</button>我用的IE6SP1,不支持about:,所以用javascript:绕过。不知道对低版本的浏览器支持性如何。
要不试试这个,用了vb的
<script language="vbscript">
function urlencoding(vstrin)
dim i,strreturn
strreturn = ""
for i = 1 to len(vstrin)
thischr = mid(vstrin,i,1)
if abs(asc(thischr)) < &hff then
strreturn = strreturn & thischr
else
innercode = asc(thischr)
if innercode < 0 then
innercode = innercode + &h10000
end if
hight8 = (innercode and &hff00)\ &hff
low8 = innercode and &hff
strreturn = strreturn & "%" & hex(hight8) & "%" & hex(low8)
end if
next
urlencoding = strreturn
end function
</script><script language="javascript">
alert(urlencoding("中文Abc"))
</script>
试试这样:<SCRIPT LANGUAGE="JavaScript">
<!--
function urlEncode(st){
return showModalDialog('javascript:document.write("<iframe name=I style=\'display:none\'></iframe><form name=F method=get target=I><input type=hidden name=S></form>");document.F.S.value=unescape(\''+escape(st).replace(/%/g,"%25")+'\');document.F.submit();setTimeout(\'returnValue=(I.location.search.substr(3));close()\',0);',null,"dialogHeight:0px;dialogWidth:0px;dialogTop:-100px;dialogLeft:-100px");
}
//-->
</SCRIPT>
<input name=srcString>
<button onclick="alert(urlEncode(srcString.value))">test</button>
呵呵 其实很简单 把你发的那个函数修改一下就OK了~~~~~
回来给分~~~~function urlencoding(vstrin)
dim i,strreturn
strreturn = ""
for i = 1 to len(vstrin)
thischr = mid(vstrin,i,1)
if abs(asc(thischr)) > &h20 and abs(asc(thischr)) < &h7f then
strreturn = strreturn & "%" & hex(abs(asc(thischr)))
elseif abs(asc(thischr)) < &hff then
strreturn = strreturn & thischr
else
innercode = asc(thischr)
if innercode < 0 then
innercode = innercode + &h10000
end if
hight8 = (innercode and &hff00)\ &hff
low8 = innercode and &hff
strreturn = strreturn & "%" & hex(hight8) & "%" & hex(low8)
end if
next
urlencoding = strreturn
end function