如题

解决方案 »

  1.   

    我真的去考虑了一下中文有没有半角,依然坚持没有半角中文。
    希望这个对你有帮助
    http://suixiaoyan.blog.ccidnet.com/blog-htm-do-showone-type-blog-itemid-197033-uid-65790.html
      

  2.   

    <script language=javascript>
    //全角空格为12288,半角空格为32
    //其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
    //document.write((65281).toString(16)+"----"+
    //(65374).toString(16)+"----"+(12288).toString(16));
    String.prototype.dbc2sbc = function ()
    {
         return this.replace(/[\uff01-\uff5e]/g,
             function(a){
                 return String.fromCharCode(a.charCodeAt(0)-65248);
             }).replace(/\u3000/g," ");
    }
    document.write("ABC 123,我们都是好朋友".dbc2sbc());
    </script>
      

  3.   

    /**
     * 转半角的函数(DBC case) 全角空格为12288,半角空格为32
     * 其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
     * 
     * @param input任意字符串
     * @return 半角字符串
     */
    public static String ToDBC(String input)
    {
    char[] c = input.toCharArray();
    for (int i = 0; i < c.length; i++)
    {
    if (c[i] == 12288)
    {
    c[i] = (char) 32;
    continue;
    }
    if (c[i] > 65280 && c[i] < 65375)
    c[i] = (char) (c[i] - 65248);
    }
    return new String(c);
    }