Js中实现拼音和UrlEncode的功能(利用GB和Unicode对照表)
2007-03-14 14:55
691 查看
经常用vb写的urlencoding很容易实现UrlEncode,以及利用 http://www.csdn.net/Develop/read_article.asp?id=13846 中的代码很容易改写成vbs从而实现部分汉字的拼音
但由于有些人需要完全用javascript写,而javascript默认是Unicode
所以就需要一个Unicode和GB的转换库
Unicode和GB的转换库和UrlEncode和getSpell函数,请下载 http://www.blueidea.com/user/qswh/qswhU2GB.js
var qswhU2GB=[];//Unicode和GB的对应表,略
var qswhSpell=[];//拼音的对照表,略
function UrlEncode(str){
var i,c,ret="",strSpecial="!/"#$%%26amp;'()*+,/:;<=>?@[/]^`{|}~%";
for(i=0;i if(str.charCodeAt(i)>=0x4e00){
c=qswhU2GB[str.charCodeAt(i)-0x4e00];
ret+="%"+c.slice(0,2)+"%"+c.slice(-2);
}
else{
c=str.charAt(i);
if(c==" ")
ret+="+";
else if(strSpecial.indexOf(c)!=-1)
ret+="%"+str.charCodeAt(i).toString(16);
else
ret+=c;
}
}
return ret;
}
function getSpell(str,sp){
var i,c,t,ret="";
if(sp==null)sp="";
for(i=0;i if(str.charCodeAt(i)>=0x4e00){
c=parseInt(qswhU2GB[str.charCodeAt(i)-0x4e00],16);
if(c<55290){
for(t=qswhSpell.length-1;t>0;t=t-2)if(qswhSpell[t]<=c)break;
if(t>0)ret+=qswhSpell[t-1]+sp;
}
}
}
return ret.substr(0,ret.length-sp.length);
}
sp是分隔符,范例如下
〈SCRIPT language=javascript src=qswhU2GB.js>〈/SCRIPT>
〈SCRIPT language=javascript>
document.write(UrlEncode("中文 <>/"#%{}|^~[]`%26amp;?+Abc"),"
")
document.write(getSpell("中国程序员大本营"),"
")
document.write(getSpell("秋水无恨","'"),"
")
〈/SCRIPT>
但由于有些人需要完全用javascript写,而javascript默认是Unicode
所以就需要一个Unicode和GB的转换库
Unicode和GB的转换库和UrlEncode和getSpell函数,请下载 http://www.blueidea.com/user/qswh/qswhU2GB.js
var qswhU2GB=[];//Unicode和GB的对应表,略
var qswhSpell=[];//拼音的对照表,略
function UrlEncode(str){
var i,c,ret="",strSpecial="!/"#$%%26amp;'()*+,/:;<=>?@[/]^`{|}~%";
for(i=0;i if(str.charCodeAt(i)>=0x4e00){
c=qswhU2GB[str.charCodeAt(i)-0x4e00];
ret+="%"+c.slice(0,2)+"%"+c.slice(-2);
}
else{
c=str.charAt(i);
if(c==" ")
ret+="+";
else if(strSpecial.indexOf(c)!=-1)
ret+="%"+str.charCodeAt(i).toString(16);
else
ret+=c;
}
}
return ret;
}
function getSpell(str,sp){
var i,c,t,ret="";
if(sp==null)sp="";
for(i=0;i if(str.charCodeAt(i)>=0x4e00){
c=parseInt(qswhU2GB[str.charCodeAt(i)-0x4e00],16);
if(c<55290){
for(t=qswhSpell.length-1;t>0;t=t-2)if(qswhSpell[t]<=c)break;
if(t>0)ret+=qswhSpell[t-1]+sp;
}
}
}
return ret.substr(0,ret.length-sp.length);
}
sp是分隔符,范例如下
〈SCRIPT language=javascript src=qswhU2GB.js>〈/SCRIPT>
〈SCRIPT language=javascript>
document.write(UrlEncode("中文 <>/"#%{}|^~[]`%26amp;?+Abc"),"
")
document.write(getSpell("中国程序员大本营"),"
")
document.write(getSpell("秋水无恨","'"),"
")
〈/SCRIPT>
相关文章推荐
- Js中实现拼音和UrlEncode的功能(利用GB和Unicode对照表)
- JS(Unicode->GB)的精简版(仍含拼音和UrlEncode)
- JS(Unicode->GB)的精简版(仍含拼音和UrlEncode)
- 【原创】js中利用cookie实现记住密码功能
- 如何利用js操作cookie实现记住密码功能
- ddpowerzoomer.js利用jQuery扩展,实现对图片局部放大功能(源码分析)
- Web第三周-Web前端利用Js实现简单计算器功能
- 利用JS实现页面删除并重新排序功能
- 利用Vue.js实现求职在线之职位查询功能
- 利用JSP+JS+CSS+Servlet实现用户登录,保存用户名密码功能
- 在ie8上js实现简单的combobox功能(支持拼音检索)
- 实现Server.UrlEncode和Server.UrlDecode功能的js代码
- 利用js简单实现图片的放大缩小功能
- 用js实现分页功能以及利用xml实现分页功能——数据岛
- js中利用cookie实现记住密码功能
- 利用chosen.js插件实现下拉可搜索多选,控制选择个数,选项框复位,修改下拉选项的功能(附代码)
- 【079】利用“剪叶子”算法实现树形结构的搜索功能,用Vue.js实现
- 利用Android源码,轻松实现汉字转拼音功能
- 在ie8上js实现简单的combobox功能(支持拼音检索)
- 纯前端利用 js-xlsx 实现 Excel 文件导入导出功能示例