JS验证全角与半角及相互转化的介绍


Posted in Javascript onMay 18, 2017

1.什么是全角和半角?

全角:是一种电脑字符,是指一个全角字符占用两个标准字符(或两个半角字符)的位置。全角占两个字节。

汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符。在全角中,字母和数字等与汉字一样占据着等宽的位置。

半角:是指一个字符占用一个标准的字符位置。半角占一个字节。

半角就是 ASCII 方式的字符,在没有汉字输入法起作用的时候,输入的字母、数字和字符都是半角的。

每个半角字符只占用一字节的空间(一字节有8位,共256个编码空间)。汉语、日语、及朝鲜文等象形字语言的字库量远大于256个编码空间,所以改用两个字节来储存。同时,由于中日韩等象形文字的书写习惯,如果统一使用全角字符的话,排列起来也显得整齐。

为了排列整齐,英文和其它拉丁文的字符和标点也提供了全角格式。

2.全角和半角的区别

全角和半角主要是针对标点符号来说的,全角标点占两个字节,半角占一个字节。不管是半角还是全角,汉字都要占两个字节。

3.js判断输入的文字是全角还是半角?

str="中文;;a"   
alert(str.match(/[\u0000-\u00ff]/g))   //半角  
alert(str.match(/[\u4e00-\u9fa5]/g))   //中文  
alert(str.match(/[\uff00-\uffff]/g))   //全角

4.js对全角与半角的相互转化

首先,先得明确以下信息:

a.全角空格为12288,半角空格为32

b.其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248

半角转化为全角

function ToDBC(txtstring) { 
  var tmp = ""; 
  for(var i=0;i<txtstring.length;i++{ 
    if(txtstring.charCodeAt(i)==32){ 
      tmp= tmp+ String.fromCharCode(12288); 
    } 
    if(txtstring.charCodeAt(i)<127){ 
      tmp=tmp+String.fromCharCode(txtstring.charCodeAt(i)+65248); 
    } 
  } 
  return tmp; 
}

上面用到了js的charCodeAt() 方法与fromCharCode() 方法。

charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535 之间的整数。

fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串。

想详细的了解charCodeAt() 方法与fromCharCode()方法,可以点击《JavaScript charCodeAt() 方法》与《JavaScript fromCharCode() 方法》。

全角转换为半角

function ToCDB(str) { 
  var tmp = ""; 
  for(var i=0;i<str.length;i++){ 
    if (str.charCodeAt(i) == 12288){
      tmp += String.fromCharCode(str.charCodeAt(i)-12256);
      continue;
    }
    if(str.charCodeAt(i) > 65280 && str.charCodeAt(i) < 65375){ 
      tmp += String.fromCharCode(str.charCodeAt(i)-65248); 
    } 
    else{ 
      tmp += String.fromCharCode(str.charCodeAt(i)); 
    } 
  } 
  return tmp 
}

以上所述是小编给大家介绍的JS验证全角与半角及相互转化的知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JS小框架 fly javascript framework
Nov 26 Javascript
JavaScript 放大镜 放大倍率和视窗尺寸
May 09 Javascript
往光标所在位置插入值的js代码
Sep 22 Javascript
解析JavaScript中的不可见数据类型
Dec 02 Javascript
使用jQuery中的when实现多个AJAX请求对应单个回调的例子分享
Apr 23 Javascript
js 加密压缩出现bug解决方案
Nov 25 Javascript
jQuery zclip插件实现跨浏览器复制功能
Nov 02 Javascript
Javascript中常用类型的格式化方法小结
Dec 26 Javascript
Angular.js自定义指令学习笔记实例
Feb 24 Javascript
微信小程序 向左滑动删除功能的实现
Mar 10 Javascript
js限制输入框只能输入数字(onkeyup触发)
Sep 28 Javascript
vue.js自定义组件directives的实例代码
Nov 09 Javascript
Vue-cli proxyTable 解决开发环境的跨域问题详解
May 18 #Javascript
Javascript实现倒计时时差效果
May 18 #Javascript
vue-cli webpack 开发环境跨域详解
May 18 #Javascript
JavaScript实现简单的星星评分效果
May 18 #Javascript
Javascript循环删除数组中元素的几种方法示例
May 18 #Javascript
Javascript实现信息滚动效果
May 18 #Javascript
详解Vue-cli 创建的项目如何跨域请求
May 18 #Javascript
You might like
PHP 日常开发小技巧
2009/09/23 PHP
PHP数组排序函数合集 以及它们之间的联系分析
2013/06/27 PHP
php中eval函数的危害与正确禁用方法
2014/06/30 PHP
php微信公众开发之获取周边酒店信息的方法
2014/12/22 PHP
分享十款最出色的PHP安全开发库中文详细介绍
2015/03/22 PHP
php时间计算相关问题小结
2016/05/09 PHP
根据key删除数组中指定的元素实现方法
2017/03/02 PHP
PHP实现简单的计算器
2020/08/28 PHP
jquery js 获取时间差、时间格式具体代码
2013/06/05 Javascript
jQuery的animate函数学习记录
2014/08/08 Javascript
JavaScript获取当前日期是星期几的方法
2015/04/06 Javascript
JavaScript实现跨浏览器的添加及删除事件绑定函数实例
2015/08/04 Javascript
JS中this上下文对象使用方式
2016/10/09 Javascript
Vue脚手架的简单使用实例
2018/07/10 Javascript
对angularjs框架下controller间的传值方法详解
2018/10/08 Javascript
js获取url页面id,也就是最后的数字文件名
2020/09/25 Javascript
分析Python读取文件时的路径问题
2018/02/11 Python
Django自定义用户认证示例详解
2018/03/14 Python
python中字符串比较使用is、==和cmp()总结
2018/03/18 Python
pycharm设置注释颜色的方法
2018/05/23 Python
python实现文本界面网络聊天室
2018/12/12 Python
python实现K近邻回归,采用等权重和不等权重的方法
2019/01/23 Python
python内存管理机制原理详解
2019/08/12 Python
Python 内置函数globals()和locals()对比详解
2019/12/23 Python
python剪切视频与合并视频的实现
2020/03/03 Python
python实现简单俄罗斯方块
2020/03/13 Python
浅谈Python中threading join和setDaemon用法及区别说明
2020/05/02 Python
在python里使用await关键字来等另外一个协程的实例
2020/05/04 Python
Python matplotlib模块及柱状图用法解析
2020/08/10 Python
python tqdm实现进度条的示例代码
2020/11/10 Python
HTML5中的音频和视频媒体播放元素小结
2016/01/29 HTML / CSS
荷兰在线体育用品商店:Avantisport.nl
2018/07/04 全球购物
求职简历中自我评价
2014/01/28 职场文书
安全月活动总结
2014/05/05 职场文书
优秀求职信
2014/05/29 职场文书
2015秋季开学典礼主持词
2015/07/16 职场文书