请教:js怎样编码URL传输?

boneeater 2004-08-11 12:44:48
在java里有个函数,java.net.URLEncoder.encode(String s),是用来把一个字符串转换成x-www-form-urlencoded 格式的,以防止不安全的字符(如#)在网上传输后遇到解析错误的问题....不知在js中有没有函数也是和它一样功能的?
...全文
329 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
husw 2010-05-28
  • 打赏
  • 举报
回复
推荐使用encodeURIComponent()来对URL进行编码,很好用
woyingjie 2004-08-11
  • 打赏
  • 举报
回复
不太清楚~!
boneeater 2004-08-11
  • 打赏
  • 举报
回复
谢谢,已经搞定了(虽然用了vbscript)~~现分享如下:
<script language="vbscript">
function urlencoding(vstrin)
dim i,strreturn,strSpecial
strSpecial = " <>""#%{}|^~[]`'&?+"
strreturn = ""
for i = 1 to len(vstrin)
thischr = mid(vstrin,i,1)
if abs(asc(thischr)) < &hff then
if instr(strSpecial,thischr)>0 then
strreturn = strreturn & "%" & hex(asc(thischr))
else
strreturn = strreturn & thischr
end if
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>
感谢大家的热情解答~~
chancelin 2004-08-11
  • 打赏
  • 举报
回复
function URLencode(sStr) {
return escape(sStr).replace(/\+/g, '%2B').replace(/\"/g,'%22').replace(/\'/g, '%27');
}
function URLdecode(psEncodeString) {
var lsRegExp = /\+/g;
return unescape(String(psEncodeString).replace(lsRegExp, " "));
}
LxcJie 2004-08-11
  • 打赏
  • 举报
回复
不过对于#号,&符等这个函数不提供编码,需要自己写

String.prototype.replaceURL = function()
{
var str = this;
str = str.replace(/%/g,"%25");
str = str.replace(/&/g,"%26");
str = str.replace(/=/g,"%3d");
str = str.replace(/#/g,"%23");
return str;
}
LxcJie 2004-08-11
  • 打赏
  • 举报
回复
encodeURI()

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧