JS教程:JavaScript全半角转换

2016-02-20 01:11 3 1 收藏

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

【 tulaoshi.com - Web开发 】

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

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

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)
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 中间的符号也转换。很多时候,这并不是我们需要的(比如将 @ 转换为 @)。下面的代码侵入性更小:

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();}

来源:https://www.tulaoshi.com/n/20160220/1633457.html

延伸阅读
代码如下: package com.whatycms.common.util; import org.apache.commons.lang.StringUtils; /** * PRE * 提供对字符串的全角-半角,半角-全角转换 * /PRE */ public class BCConvert { /** * ASCII表中可见字符从!开始,偏移位值为33(Decimal) */ static final char DBC_CHAR_START = 33; // 半角! /** * ASCII表中可见字符到...
标签: Web开发
JavaScript所提供的语句分为以下几大类: 1.变量声明,赋值语句:var。 语法如下: var 变量名称 [=初始值] 例:var computer = 32 //定义computer是一个变量,且有初值为32。 2.函数定义语句:function,return。 语法如下: function 函数名称 (函数所带的参数) { ...
标签: Web开发
缓动,学名为Tween,缓冲移动的简称。要想页面内容切换起来舒服,就使用淡入淡出特效,要想让页面元素动起来自然,就要使用缓动效果。这两个混合起来,可以衍生多种特效的。感谢Flash开发人员为我们做了那么多先行研究,我们直接把它们拆出来装在各种菜单与相册中。我们先从最简单的东西做起,加速与减速。 既然是缓动,它就一定涉及以下概...
标签: Web开发
从一个简单的问题谈起: script type="text/javascript"alert(i); // ?var i = 1;/script 输出结果是undefined, 这种现象被称成预解析:JavaScript引擎会优先解析var变量和function定义。在预解析完成后,才会执行代码。如果一个文档流中包含多个script代码段(用script标签分隔的js代码或引入的js文件),运行顺序是: step1...
标签: Web开发
一、利用全局变量 这是最简单的一种方式,比如Google Adsense: script type="text/javascript"google_ad_client = 'pub-3741595817388494';/scriptscript type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"/script 缺点是引入了全局变量。其中引入文件的方式还有两个...

经验教程

230

收藏

54
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部