JS教程:JavaScript全半角转换

哎呦喂嘿哼

哎呦喂嘿哼

2016-02-20 01:11

下面图老师小编要向大家介绍下JS教程:JavaScript全半角转换,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

规律:半角空格的 charCode 为 32, 全角空格为 12288. 其他半角字符 ( 33 – 126 ) 与全角 ( 65281 – 65374 ) 的对应关系是:均相差 65248.

找好规律,代码就好写了:

var hash = {32 : u3000};// 半角转全角function sbc2dbc(str) {var ret = [], i = 0, len = str.length, code, chr;for (; i  31 && code  127) {chr = hash[code] = String.fromCharCode(code + 65248);}ret[i] = chr ? chr : str.charAt(i);}return ret.join();}


同理:

var hash = {12288 :  };// 全角转半角function dbc2sbc(str) {var ret = [], i = 0, len = str.length, code, chr;for (; i  65280 && code  65375) {chr = hash[code] = String.fromCharCode(code - 65248);}ret[i] = chr ? chr : str.charAt(i);}return ret.join();}

上面的代码会将 33 - 126 中间的符号也转换。很多时候,这并不是我们需要的(比如将 @ 转换为 @)。下面的代码侵入性更小:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)
var hash = {};// 半角转全角。仅转换 [0-9a-zA-Z]function sbc2dbc_w(str) {var ret = [], i = 0, len = str.length, code, chr;for (; i  len; ++i) {code = str.charCodeAt(i);chr = hash[code];if (!chr &&(47  code && code  58 ||64  code && code  91 ||96  code && code  123)) {chr = hash[code] = String.fromCharCode(code + 65248);}ret[i] = chr ? chr : str.charAt(i);}return ret.join();}
展开更多 50%)
分享

猜你喜欢

JS教程:JavaScript全半角转换

Web开发
JS教程:JavaScript全半角转换

JS教程:学习Javascript数组

Web开发
JS教程:学习Javascript数组

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

JS教程:日期格式转换函数

Web开发
JS教程:日期格式转换函数

js教程:JavaScript作用域(Scope)

Web开发
js教程:JavaScript作用域(Scope)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

JS教程:理解JavaScript闭包

Web开发
JS教程:理解JavaScript闭包

java 全角半角字符转换如何实现

编程语言 网络编程
java 全角半角字符转换如何实现

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

win7系统休眠后网络断开怎么办?

win7系统休眠后网络断开怎么办?

Dreamweaver CS3中使用层的一些技巧和建议

Dreamweaver CS3中使用层的一些技巧和建议
下拉加载更多内容 ↓