`
coldsummerwei
  • 浏览: 40487 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

全角字符转半角字符(java & JavaScript)

阅读更多
Java版本:

    /**
     * @param str 目标字符串
     * @return 将全角字符全部转换为半角的字符串
     */
    public static String toDBC(String str) {
        if (str == null || str.length() == 0) {
            return str;
        }
        char[] chars = str.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            chars[i] = charToDBC(chars[i]);
        }
        return new String(chars);
    }
    protected static char charToDBC(char ch) {
        if (ch == '\u3000') {
            return '\u0020';// 半角空格:
        } else if (ch > '\uFF00' && ch < '\uFF5F') {
            return (char) (ch - 65248);
        }
        return ch;
    }


JavaScript版本:

/**
 * 
 * @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;
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics