得到unicode编码
然后-65248就可以了

解决方案 »

  1.   

    是的
    只有一个范围才可以用这个方法
    所以要限制下
    <script language=javascript>
    function DBC2SBC(str)
    {

    var result = '';
    for(var i=0;i<str.length;i++){
    code = str.charCodeAt(i);//获取当前字符的unicode编码
    if (code >= 65281 && code <= 65373)//在这个unicode编码范围中的是所有的英文字母已经各种字符
    {
    result += String.fromCharCode(str.charCodeAt(i) - 65248);//把全角字符的unicode编码转换为对应半角字符的unicode码
    }else if (code == 12288)//空格
    {
    result += String.fromCharCode(str.charCodeAt(i) - 12288 + 32);
    }else
    {
    result += str.charAt(i);
    }
    }
    return result;
    }
    alert(DBC2SBC("FSDFSDG广泛豆腐干"))
    </script>