javascript实现全角与半角字符的转换_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

时间: 2024-10-26 05:46:49

javascript实现全角与半角字符的转换_javascript技巧的相关文章

javascript实现全角转半角的方法_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编码范围中的是所有的英文字母已经各种字

java全角、半角字符的关系以及转换详解_java

如果搞明白了Java中全角字符和半角字符之间的关系 那他们之间的转换根本就不是个事. 全角字符与半角字符的关系 可以通过下面的程序看看Java中所有字符以及对应编码的值 复制代码 代码如下:     public static void main(String[] args) {        for (int i = Character.MIN_VALUE; i <= Character.MAX_VALUE; ++i) {            System.out.println(i + &qu

SQL Server中全角和半角字符的比较问题

server|比较|问题 /*------------------------------------------------------------------------------------ /*欢迎转载,请保留本声明信息 /*作者:翁   彦   enhydraboy@yahoo.com.cn /*------------------------------------------------------------------------------------ 这是一个在我实际一个

js中使用replace方法完成某个字符的转换_javascript技巧

复制代码 代码如下: var str = "国字[1990]12号"; 如何把变量中的"["和"]"的前面加上反斜杠, 就是要替换成这样:str = "国字\[1990\]12号"; 复制代码 代码如下: <script language="javascript" type="text/javascript"> var str = "国字[1990]12号"

JavaScript函数全角半角转换代码

  用JavaScript实现的全角.半角转换功能,为了用着方便,写成了函数,用时候把代码复制到你的JS公共函数库中,用时候调用.   现在用不上?那就先收藏也不错.

javascript实现全角半角检测的方法_javascript技巧

本文实例讲述了javascript实现全角半角检测的方法.分享给大家供大家参考.具体如下: //全角半角校验 function issbccase(strTmp) { for (var i=0; i<strTmp.length; i++) { if (strTmp.charCodeAt(i) > 128){ return true; break; } } return false; } 希望本文所述对大家的javascript程序设计有所帮助. 以上是小编为您精心准备的的内容,在的博客.问答.

全角和半角的区别

什么是全角和半角? (1)全角---指一个字符占用两个标准字符位置. 汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符.一般的系统命令是不用全角字符的,只是在作文字处理时才会使用全角字符. (2)半角---指一字符占用一个标准的字符位置. 通常的英文字母.数字键.符号键都是半角的,半角的显示内码都是一个字节.在系统内部,以上三种字符是作为基本代码处理的,所以用户输入命令和参数时一般都使用半角. 全角与半角有什么区别?各在什么情况下使用? 全角占两个字节,半

android开发-Android中关于全角和半角转换并且做输入限制的类

问题描述 Android中关于全角和半角转换并且做输入限制的类 在开发一个项目中,需要对昵称和签名做输入限制,而且是限制全角的方式,怎么实现 解决方案 全角字符占用2个字符位置,半角字符占用1个字符位置. 做长度测试 不知道行不 你试试

sql-SQL 2008 全角转半角遇到特殊字符

问题描述 SQL 2008 全角转半角遇到特殊字符 函数是这样的 这个方法全角转半角有个BUG 就是遇到 这样一个特殊字符,这个字符我应该是全角的,我把这个字符从数据库种复制出来就能转换,但是直接查询转换的时候,没办法转! 研究了好多天,都没有办法,有没有人知道的? 交流一下? [dbo].f_Convert, --要转换的字符串 @flag bit --转换标志,0转换成半角,1转换成全角 )RETURNS nvarchar(4000) AS BEGIN DECLARE @pat nvarch