js 全半角转换

/*
 *全角空格为12288,半角空格为32
 *其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
 */

function SBC(text) {
    return text.replace(/[x20-x7e]/g, function($) {
        return $ == " " ? "u3000" : String.fromCharCode($.charCodeAt(0) + 0xfee0);
    });
}
var toDBC=function(input) {//to DBC case
    var res="",c;
    for(var i=0;i< input.length;i++) {
        c=input.charCodeAt(i);
        if(c >=0xFF01 && c <=0xFF5E)// 65281 65374
            res+=String.fromCharCode(c-0xFEE0);//65248
        else if(c==0x3000)//12288
            res+=String.fromCharCode(0x20);//32
        else
            res+=input.charAt(i);
    }
    return res;
}
var toSBC=function(input) {//to SBC case
    var res="",c;
    for(var i=0; i < input.length;i++) {
        c=input.charCodeAt(i);
        if(c>=0x21 && c<=0x7e)//33 126
            res+=String.fromCharCode(c+0xFEE0);
        else if(c==0x20)
            res += String.fromCharCode(0x3000);
        else
            res += input.charAt(i);
    }
    return res;
}
var s=",哦哦,hello ssss!#~";
var s1=toDBC(s);
var s2=toSBC(s1);
alert("原字符:"+s+"nntoDBC:"+s1+"nntoSBC:"+s2);

时间: 2024-09-27 09:07:18

js 全半角转换的相关文章

JS教程:JavaScript全半角转换

规律:半角空格的 charCode 为 32, 全角空格为 12288. 其他半角字符 ( 33 – 126 ) 与全角 ( 65281 – 65374 ) 的对应关系是:均相差 65248. 找好规律,代码就好写了: var hash = {32 : u3000}; // 半角转全角 function sbc2dbc(str) { var ret = [], i = 0, len = str.length, code, chr; for (; i 31 && code < 127)

Word文档中大小写及全半角快速转换的方法

  Word文档中大小写及全半角快速转换的方法         1.字母大小写转换 如果在Word 2007文档中存在英文内容,应对英文单词的大小写格式进行统一规范,此时可以在文档中选中需要修改的英文内容,然后在"开始"选项卡的"字体"选项组中,单击[更改大小]按钮,在随即打开的下拉列表中执行相应的命令,其中前5项命令都是用来规范字母大小写的,如图1所示. 图1 "更改大小"下拉列表 一般情况下,英文内容的句首字母应该大写,如果在输入某些英文内容

JavaScript函数全角半角转换代码

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

C# 全角和半角转换以及判断的简单代码

这篇文章介绍了在C#中判断和转换全角半角的方法,有需要的朋友可以参考一下   1. 判断是否为全角半角  全角占用二个字节 半角占用一个字节 用string.length 和System.text.Encoding.Default.GetByteCount 其中string.length表示字符串的字符数, System.text.Encoding.Default.GetByteCount表示字符串的字节数. 判断半角(是半角则true) 如下: 复制代码 代码如下: if (checkStri

PHP全角半角转换函数

 这篇文章主要介绍了PHP全角半角转换函数,把目前能找到的所有全角都列出来了一个个替换吧,需要的朋友可以参考下 之前试过网上找的通过ASCII之类的字符替换,发现很多莫名其妙的问题.最后还是换成下面的字符替换方式了,把目前能找到的所有全角都列出来了一个个替换吧   代码如下: /**  * 全角字符转换为半角  *  * @param string $str  * @return string  */  public function Sbc2Dbc($str)  {  $arr = array

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

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

Python实现全角半角转换的方法_python

本文实例讲解了Python实现全角半角转换的方法,相信对于大家的Python学习能够起到一定的参考借鉴价值.如下所示: 一.全角半角转换概述: 全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E) 半角字符unicode编码从33~126 (十六进制 0x21~ 0x7E) 空格比较特殊,全角为 12288(0x3000),半角为 32 (0x20) 而且除空格外,全角/半角按unicode编码排序在顺序上是对应的 所以可以直接通过用+-法来处理非空格

Ruby 中关于日文转UTF-8及半角全角转换的技巧_ruby专题

1.日文转UTF-8 Iconv.new('cp932', 'utf-8')与Iconv.new('shift_jis', 'utf-8')的区别 Iconv.new('shift_jis', 'utf-8')不支持以下的格式: 課№001-18 XXXXXXX 而只能把字符窜中的№换成No.才行 但是Iconv.new('cp932', 'utf-8')支持. 2.半角全角转换 看下面的代码: require "jcode" $cov.iconv(year.to_s.tr('0-9'

asp(javascript)全角半角转换代码 dbc2sbc_javascript技巧

asp全角半角转换函数 flag=-1时进行半角转全角 flag=0时进行半角全角互转 flag=1时进行全角转半角 复制代码 代码如下: <% Function DBC2SBC(Str, flag) Dim i, sStr If Len(Str)<= 0 Then Exit Function DBC2SBC = "" For i = 1 To Len(Str) sStr = Asc(Mid(Str, i, 1)) Select Case flag Case -1 If s