Js中实现拼音和UrlEncode的功能(利用GB和Unicode对照表)
来源:互联网 发布:蓝月传奇翅膀进阶数据 编辑:程序博客网 时间:2024/05/01 22:02
经常用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>
- Js中实现拼音和UrlEncode的功能(利用GB和Unicode对照表)
- Js中实现拼音和UrlEncode的功能(利用GB和Unicode对照表)
- JS(Unicode->GB)的精简版(仍含拼音和UrlEncode)
- JS(Unicode->GB)的精简版(仍含拼音和UrlEncode)
- 实现Server.UrlEncode和Server.UrlDecode功能的js代码
- Unicode和GB的转换库和UrlEncode和getSpell函数
- 利用pingYin4j进行来中文和拼音的切换实现搜索功能的效率
- 利用JS实现OnMouseOver和OnMouseOut功能
- js urlencode和urldecode
- 在Java中,GB码和Unicode码的互转问题,欢迎讨论
- ANSI 和 Unicode 字符函数对照表
- ANSI 和 Unicode 字符函数对照表
- PHP中rawurlencode和urlencode、JS中encodeURI与encodeURIComponent 的区别
- PHP中rawurlencode和urlencode、JS中encodeURI与encodeURIComponent 的区别
- Android 中利用WebViewJavascriptBridge 实现js和java的交互
- Android 中利用WebViewJavascriptBridge 实现js和java的交互
- 关于汉字和拼音对照片的制作问题
- HttpUtility.UrlEncode和Server.UrlEncode 的区别
- 常用网页技巧
- ActionScript3.0 基本语法 - Notes
- Lotus的变量后面的 $、 % 、# 等是什么意思?
- SQL SERVER数据库开发之存储过程应用
- 推荐js编辑器1st JavaScript Editor Pro
- Js中实现拼音和UrlEncode的功能(利用GB和Unicode对照表)
- 利用key,value形式储存对象的类(Map,HashMap)
- Delphi的TRegistry注册表类方法详解
- 【Prototype 1.4.0】源码解读----全文注释版
- CustomValidator控件另种用法
- asp.net 开发7绝招!
- 四级联动
- 这是我的技术BLOG吧
- 使用ASP.NET 2.0 Profile存储用户信息[翻译] Level 200