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 相关文章推荐
火狐浏览器(firefox)下获得Event对象以及keyCode
Nov 13 Javascript
js 禁用浏览器的后退功能的简单方法
Dec 10 Javascript
javascript showModalDialog模态对话框使用说明
Dec 31 Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
Nov 19 Javascript
用js代码和插件实现wordpress雪花飘落效果的四种方法
Dec 15 Javascript
jQuery中has()方法用法实例
Jan 06 Javascript
JS中完美兼容各大浏览器的scrolltop方法
Apr 17 Javascript
js调出上下文菜单的实例
Dec 17 Javascript
JS温故而知新之变量提升和时间死区
Jan 27 Javascript
PHP实现基于Redis的MessageQueue队列封装操作示例
Feb 02 Javascript
详解vuejs2.0 select 动态绑定下拉框支持多选
Apr 25 Javascript
JS中封装axios来管控api的2种方式
Sep 11 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简单获取视频预览图的方法
2015/03/12 PHP
PHP分享图片的生成方法
2018/04/25 PHP
javascript JSON操作入门实例
2010/04/16 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
2013/01/25 Javascript
jquery mobile页面跳转后样式丢失js失效的解决方法
2014/09/06 Javascript
js实现可键盘控制的简单抽奖程序
2016/07/13 Javascript
js窗口震动小程序分享
2016/11/28 Javascript
AngularJS入门示例之Hello World详解
2017/01/04 Javascript
Vue.2.0.5实现Class 与 Style 绑定的实例
2017/06/20 Javascript
JavaScript异步加载问题总结
2018/02/17 Javascript
JS用最简单的方法实现四舍五入
2019/08/27 Javascript
layui按条件隐藏表格列的实例
2019/09/19 Javascript
基于vue-cli3和element实现登陆页面
2019/11/13 Javascript
详解JavaScript中的Object.is()与&quot;===&quot;运算符总结
2020/06/17 Javascript
如何在vue 中引入使用jquery
2020/11/10 jQuery
json.stringify()与json.parse()的区别以及用处
2021/01/25 Javascript
[02:04]2016国际邀请赛中国区预选赛VG.R晋级之路
2016/07/01 DOTA
python线程、进程和协程详解
2016/07/19 Python
Python爬虫实例爬取网站搞笑段子
2017/11/08 Python
Tornado高并发处理方法实例代码
2018/01/15 Python
详解python中的json和字典dict
2018/06/22 Python
python 3.7.0 安装配置方法图文教程
2018/08/27 Python
python3爬虫怎样构建请求header
2018/12/23 Python
Django使用中间件解决前后端同源策略问题
2019/09/02 Python
python3.8与pyinstaller冲突问题的快速解决方法
2020/01/16 Python
Python实现名片管理系统
2020/02/14 Python
python简单实现插入排序实例代码
2020/12/16 Python
html5桌面通知(Web Notifications)实例解析
2014/07/07 HTML / CSS
详解使用postMessage解决iframe跨域通信问题
2019/11/01 HTML / CSS
智能电子秤、手表和健康监测仪:Withings(之前为诺基亚健康)
2018/10/30 全球购物
舞蹈毕业生的自我评价
2014/03/05 职场文书
法律进学校实施方案
2014/03/15 职场文书
禁毒宣传工作方案
2014/05/23 职场文书
干部选拔任用方案
2014/05/26 职场文书
小型企业的绩效考核制度模板
2019/11/21 职场文书
Win11显卡控制面板打开显卡设置方法
2022/04/20 数码科技