javascript实现全角与半角字符的转换
先上代码,再说废话^_^
/**
* 转全角字符
*/
function toDBC(str){
var result = "";
var len = str.length;
for(var i=0;i<len;i++)
{
var cCode = str.charCodeAt(i);
//全角与半角相差(除空格外):65248(十进制)
cCode = (cCode>=0x0021 && cCode<=0x007E)?(cCode + 65248) : cCode;
//处理空格
cCode = (cCode==0x0020)?0x03000:cCode;
result += String.fromCharCode(cCode);
}
return result;
}
/**
* 转半角字符
*/
function toSBC(str){
var result = "";
var len = str.length;
for(var i=0;i<len;i++)
{
var cCode = str.charCodeAt(i);
//全角与半角相差(除空格外):65248(十进制)
cCode = (cCode>=0xFF01 && cCode<=0xFF5E)?(cCode - 65248) : cCode;
//处理空格
cCode = (cCode==0x03000)?0x0020:cCode;
result += String.fromCharCode(cCode);
}
return result;
}
知识点
通过半角字符与全角字符的比较(ASCII字符),我们可以发现,拥有全角与半角之分的ASCII字符范围:0x20~0x7E。
比如:
符号 半角 全角 相差
# 0x0023 0xFF03 0xFEE0
? 0x003F 0xFF1F 0xFEE0
空格 0x0020 0x03000 0x2FE0
除了空格外,其他的字符中,全角与半角均相差:0xFFE0
因此,在全角与半角的字符转换中,需要对空格特殊处理。
例如:
全角 = 半角 + 0xFEE0
半角 = 全角 - 0xFFE0
相关推荐
-
JavaScript 全角转半角部分
复制代码 代码如下: <script language=javascript> //全角空格为12288,半角空格为32 //其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248 //document.write((65281).toString(16)+"----"+(65374).toString(16)+"----"+(12288).toString(16)); String.prototype.dbc2sbc
-
JS验证全角与半角及相互转化的介绍
1.什么是全角和半角? 全角:是一种电脑字符,是指一个全角字符占用两个标准字符(或两个半角字符)的位置.全角占两个字节. 汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符.在全角中,字母和数字等与汉字一样占据着等宽的位置. 半角:是指一个字符占用一个标准的字符位置.半角占一个字节. 半角就是 ASCII 方式的字符,在没有汉字输入法起作用的时候,输入的字母.数字和字符都是半角的. 每个半角字符只占用一字节的空间(一字节有8位,共256个编码空间).汉语.日
-
javascript实现全角半角检测的方法
本文实例讲述了javascript实现全角半角检测的方法.分享给大家供大家参考.具体如下: //全角半角校验 function issbccase(strTmp) { for (var i=0; i<strTmp.length; i++) { if (strTmp.charCodeAt(i) > 128){ return true; break; } } return false; } 希望本文所述对大家的javascript程序设计有所帮助.
-
JS全角与半角转化实例(分享)
最近在做PC端网站的页面的一个表单校验,需要把全角输入转化成半角符号.之前没有了解过这些编码的知识,还是得Google一下查查资料,故简单总结一下. 什么是全角.半角 传统上,英语或拉丁字母语言使用的电脑系统,每一个字母或符号,都是使用一字节的空间(一字节由8比特组成,共256个编码空间)来储存:而汉语.日语及韩语文字,由于数量大大超过256个,故惯常使用两字节来储存一个字符.在使用等宽字体(如DOS.部分文字编辑器等)的环境下,中日韩文字此时占据两倍于西文字符的显示宽度.所以,中.日.韩等文字
-
半角全角相互转换的js函数
复制代码 代码如下: ///全角空格为12288,半角空格为32 ///其他字符半角(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(1228
-
javascript实现全角与半角字符的转换
先上代码,再说废话^_^ 复制代码 代码如下: /** * 转全角字符 */ function toDBC(str){ var result = ""; var len = str.length; for(var i=0;i<len;i++) { var cCode = str.charCodeAt(i); //全角与半角相差(除空格外):65248(十进制) cCode = (cCode>
-
javascript实现全角转半角的方法
本文实例讲述了javascript实现全角转半角的方法.分享给大家供大家参考,具体如下: function fullChar2halfChar(str) { var result = ''; for (i=0 ; i<str.length; i++) { code = str.charCodeAt(i);//获取当前字符的unicode编码 if (code >= 65281 && code <= 65373)//在这个unicode编码范围中的是所有的英文字母已经各种字
-
python3实现全角和半角字符转换的方法示例
前言 本文主要给大家介绍了关于python3中全角和半角字符转换的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 一.背景介绍 解决什么问题:快速方便的对文本进行全角半角自动转换 适用什么场景:学生答题数据中全角字符替换为半角字符 二.全角半角原理 全角即:Double Byte Character,简称DBC 半角即:Single Byte Character,简称SBC 在 windows 中,中文和全角字符都占两个字节,并且使用了 ascii chart 2 (
-
java全角、半角字符的关系以及转换详解
如果搞明白了Java中全角字符和半角字符之间的关系 那他们之间的转换根本就不是个事. 全角字符与半角字符的关系 可以通过下面的程序看看Java中所有字符以及对应编码的值 复制代码 代码如下: public static void main(String[] args) { for (int i = Character.MIN_VALUE; i <= Character.MAX_VALUE; ++i) { System.out.println(i + "
-
C#中判断字符串是全角还是半角的实现代码
C#字符串的全角是指用二个字节来表示的一个字符 C#字符串的半角是用一个字节来表示的一个字符 这样的话我们就可以用string.length 和System.text.Encoding.Default.GetByteCount来判断 其中string.length表示C#字符串字符串的字符数, System.text.Encoding.Default.GetByteCount表示字符串的字节数. 判断半角如下: 复制代码 代码如下: if (checkString.Length == Encod
-
PHP 全角转半角实现代码
复制代码 代码如下: /** * 将一个字串中含有全角的数字字符.字母.空格或'%+-()'字符转换为相应半角字符 * @access public * @param string $str 待转换字串 * @return string $str 处理后字串 */ function make_semiangle($str) { $arr = array('0' => '0', '1' => '1', '2' => '2', '3' => '3', '4' => '4','5'
-
Python全角与半角之间相互转换的方法总结
目录 1.应用领域: 2.全角半角转换概述 3.请注意: 4.应用到的库函数 5.全角转半角: 6.半角转成全角: 附:如何通过python转换全角字符串为半角字符串实例 说在后面: 1.应用领域: 全角和半角的转换通常用在自然语言处理过程中,由于全角和半角的不一致会导致信息抽取不一致,在使用语料训练语言模型会导致模型的效果不准确,所以需要统一. 2.全角半角转换概述 全角字符unicode编码范围从65281~65374 (对应的十六进制范围是: 0xFF01 ~ 0xFF5E) 半角字符un
随机推荐
- JS Date函数整理方便使用
- AngularJS iframe跨域打开内容时报错误的解决办法
- java正则表达式彻底研究
- 谈谈js中的prototype及prototype属性解释和常用方法
- asp.net生成缩略图实现代码
- Visual Studio 2017通过SSH调试Linux上.NET Core
- WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
- 使用phpMyAdmin修改MySQL数据库root用户密码的方法
- js过滤HTML标签完整实例
- asp中通过getrows实现数据库记录分页的一段代码
- Js实现动态添加删除Table行示例
- JS实现的幻灯片切换显示效果
- javascript实现的多条新闻公告系统
- 处理 SSI 文件时出错的解决方法
- Nginx配置文件nginx.conf详细说明
- C读txt到二维数组的实现方法
- Python反射的用法实例分析
- Javascript通过控制类名更改样式
- Android实现悬浮可拖拽的Button
- Sql Server 如何去掉内容里面的Html标签