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 相关文章推荐
密码框显示提示文字jquery示例
Aug 29 Javascript
用jquery实现的一个超级简单的下拉菜单
May 18 Javascript
JavaScript中Date.toSource()方法的使用教程
Jun 12 Javascript
AngularJs解决跨域问题案例详解(简单方法)
May 19 Javascript
JS实现类似51job上的地区选择效果示例
Nov 17 Javascript
AngularJS指令与控制器之间的交互功能示例
Dec 14 Javascript
jQuery自定义元素右键点击事件(实现案例)
Apr 28 jQuery
Vue声明式渲染详解
May 17 Javascript
详解基于webpack&amp;gettext的前端多语言方案
Jan 29 Javascript
js基础之事件捕获与冒泡原理
Oct 09 Javascript
Vue3.0的优化总结
Oct 16 Javascript
Vue监视数据的原理详解
Feb 24 Vue.js
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
这部番真是良心,画质好到像风景区,剧情让人跟着小公会热血沸腾
2020/03/10 日漫
解析PHP高效率写法(详解原因)
2013/06/20 PHP
codeigniter发送邮件并打印调试信息的方法
2015/03/21 PHP
Yii2实现增删改查后留在当前页的方法详解
2017/01/13 PHP
Phpstorm+Xdebug断点调试PHP的方法
2018/05/14 PHP
javascript学习随笔(使用window和frame)的技巧
2007/03/08 Javascript
jQuery实现点击标题输入详细信息
2013/04/16 Javascript
wap手机图片滑动切换特效无css3元素js脚本编写
2014/07/28 Javascript
JavaScript实现的简单烟花特效代码
2015/10/20 Javascript
js中的触发事件对象event.srcElement与event.target详解
2017/03/15 Javascript
ionic grid(栅格)九宫格制作详解
2018/06/30 Javascript
自己动手封装一个React Native多级联动
2018/09/19 Javascript
vue基础之使用get、post、jsonp实现交互功能示例
2019/03/12 Javascript
jQuery实现提交表单时不提交隐藏div中input的方法
2019/10/08 jQuery
JavaScript 装逼指南(js另类写法)
2020/05/10 Javascript
[01:03:50]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第二场 2月7日
2021/03/11 DOTA
easy_install python包安装管理工具介绍
2013/02/10 Python
剖析Python的Twisted框架的核心特性
2016/05/25 Python
python selenium自动上传有赞单号的操作方法
2018/07/05 Python
Python多线程编程之多线程加锁操作示例
2018/09/06 Python
Django中使用极验Geetest滑动验证码过程解析
2019/07/31 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
2020/09/17 Python
用html5实现语音搜索框的方法
2014/03/18 HTML / CSS
兰蔻美国官网:Lancome美国
2017/04/25 全球购物
Black Halo官方网站:购买连衣裙、礼服和连体裤
2018/06/13 全球购物
Oasis服装官网:时尚女装在线
2020/07/09 全球购物
大学新生欢迎词
2014/01/10 职场文书
2014年单位植树节活动方案
2014/03/23 职场文书
现实表现材料范文
2014/12/23 职场文书
青岛海底世界导游词
2015/02/11 职场文书
大学生求职简历自我评价
2015/03/02 职场文书
2015年社区环境卫生工作总结
2015/04/21 职场文书
基层组织建设年活动总结
2015/05/09 职场文书
2015年教师节广播稿
2015/08/19 职场文书
调解协议书范本
2016/03/21 职场文书
JavaScript异步操作中串行和并行
2021/11/20 Javascript