IT業界のすみっこ暮らし

ふと気がついたときの記録

指定した長さで文字列を切る(Javascript)

画面表示の際に長い文字列を幅に合わせて省略させるのはCSSでも出来るけど、一応、だいぶ前試してたやつ

//指定した長さで文字列を切る
function GetStringByByte(str, num) {
    len = 0;
    estr = escape(str);
    ostr = "";
    for (i = 0; i < estr.length; i++) {
        len++;
        ostr = ostr + estr.charAt(i);
        if (estr.charAt(i) == "%") {
            i++;
            ostr = ostr + estr.charAt(i);
            if (estr.charAt(i) == "u") {
                ostr = ostr + estr.charAt(i + 1) + estr.charAt(i + 2) + estr.charAt(i + 3) + estr.charAt(i + 4);
                i += 4;
                len++;
            }
        }
        if (len >= num - 3) {
            return unescape(ostr) + "...";
        }
    }
    return unescape(ostr);
}