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 相关文章推荐
JavaScript关于select的相关操作说明
Jan 13 Javascript
javascript中substr,substring,slice.splice的区别说明
Nov 25 Javascript
javascript实现状态栏中文字动态显示的方法
Oct 20 Javascript
JavaScript原型及原型链终极详解
Jan 04 Javascript
BootStrapValidator校验方式
Dec 19 Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
Feb 22 Javascript
Bootstrap警告(Alerts)的实现方法
Mar 22 Javascript
详解vue mixins和extends的巧妙用法
Dec 20 Javascript
详解webpack编译速度提升之DllPlugin
Feb 05 Javascript
vue2.0项目集成Cesium的实现方法
Jul 30 Javascript
vue element 关闭当前tab 跳转到上一路由操作
Jul 22 Javascript
vscode+gulp轻松开发小程序的完整步骤
Oct 18 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
linux下实现定时执行php脚本
2015/02/13 PHP
Opcache导致php-fpm崩溃nginx返回502
2015/03/02 PHP
PHP安全下载文件的方法
2016/04/07 PHP
php 输出json及显示json中的中文汉字详解及实例
2016/11/09 PHP
php制作基于xml的RSS订阅源功能示例
2017/02/08 PHP
php设计模式之观察者模式定义与用法经典示例
2019/09/19 PHP
jQuery 1.5最新版本的改进细节分析
2011/01/19 Javascript
css值转换成数值请抛弃parseInt
2011/10/24 Javascript
上传的js验证(图片/文件的扩展名)
2013/04/25 Javascript
JS截取字符串常用方法整理及使用示例
2013/10/18 Javascript
js与jquery获取父级元素,子级元素,兄弟元素的实现方法
2014/01/09 Javascript
基于jquery实现瀑布流布局
2020/06/28 Javascript
全屏js头像上传插件源码高清版
2016/03/29 Javascript
PHP捕捉异常中断的方法
2016/10/24 Javascript
jquery实现图片放大点击切换
2017/06/06 jQuery
微信小程序中上传图片并进行压缩的实现代码
2018/08/28 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
2019/08/04 Javascript
vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信
2019/08/15 Javascript
vue.js实现点击图标放大离开时缩小的代码
2021/01/27 Vue.js
[01:04:32]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第二场 2月23日
2021/03/11 DOTA
flask中使用SQLAlchemy进行辅助开发的代码
2013/02/10 Python
Python Trie树实现字典排序
2014/03/28 Python
全面了解Python环境配置及项目建立
2016/06/30 Python
Python实现简单遗传算法(SGA)
2018/01/29 Python
Django如何自定义分页
2018/09/25 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
2019/08/05 Python
python使用ctypes调用扩展模块的实例方法
2020/01/28 Python
python实现猜数游戏
2020/03/27 Python
Django Admin后台添加数据库视图过程解析
2020/04/01 Python
python 5个实用的技巧
2020/09/27 Python
Python爬虫定时计划任务的几种常见方法(推荐)
2021/01/15 Python
美国家居装饰店:Pier 1
2019/09/04 全球购物
什么是唯一索引
2015/07/05 面试题
保护环境倡议书300字
2014/05/19 职场文书
2014年幼儿园德育工作总结
2014/12/17 职场文书
导游词之苏州阳澄湖
2019/11/15 职场文书