20分 只有20分了

解决方案 »

  1.   

    /**
     * 
     * @param {String}
     *            str 字符串
     * @return {String} 将全角全部转换为半角的字符串
     */
    function toDBC(str){
        if (str) {
            var result = "";
            var code = 0;
            for (var i = 0; i < str.length; i++) {
                code = str.charCodeAt(i);
                if (code == 12288) {
                    result += String.fromCharCode(32);
                } else if (code > 65280 && code < 65375) {
                    result += String.fromCharCode(code - 65248);
                } else {
                    result += str.charAt(i);
                }
            }
            return result;
        }
        return str;
    }
      

  2.   

    有个好像更加强/*
    把输入的字符串转换为半角
    input: Str 任意字符串
    output:DBCStr 半角字符串
    说明:1、全角空格为12288,半角空格为32
    2、其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
    */
    function toDBC(Str) {
    var DBCStr = ""; 
    for(var i=0; i<Str.length; i++){
    var c = Str.charCodeAt(i);
    if(c == 12288) {
    DBCStr += String.fromCharCode(32);
    continue;
    }
    if (c > 65280 && c < 65375) {
    DBCStr += String.fromCharCode(c - 65248);
    continue;
    }
    DBCStr += String.fromCharCode(c);
    }
    return DBCStr;
    }
      

  3.   


    function dbc2sbc(str){
    return str.replace(/[\uff01-\uff5e]/g,function(a){
    return String.fromCharCode(a.charCodeAt(0)-65248);
    }).replace(/\u3000/g," ");
    }
    var str = '0123456789';
    alert(str + '\n' + dbc2sbc(str) );