圆角与半角互相转换

   最近发现客户在输入序列号时,经常输入圆角。导致下载不了应用。下面这段js可以将圆角字符转成半角,将半角转成圆角。

原理很简单,就两条:

1、全角空格为12288,半角空格为 32  

2、其他字符半角(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;
}
//全角转换为半角函数 
function ToCDB(str) {
    var tmp = "";
    for (var i = 0; i < str.length; i++) {
        if (str.charCodeAt(i) > 65248 && str.charCodeAt(i) < 65375) {
            tmp += String.fromCharCode(str.charCodeAt(i) - 65248);
        }
        else {
            tmp += String.fromCharCode(str.charCodeAt(i));
        }
    }
    return tmp
}

  

posted @ 2013-08-20 14:33 麒麟 阅读(...) 评论(...) 编辑 收藏