文字列を任意の文字数で丸めるjavaScript
str・・・文字列
len・・・数値
◆文字列を任意の文字数で丸める
function truncateText(str, len) { return str.length <= len ? str : str.substr(0, len) + '...'; }
◆文字数を半角は1文字、全角は2文字として計算し丸める
// 文字列を任意の文字数で短縮する function truncateText(str, len) { let result = 0; let text = ''; for (let i = 0; i < str.length; i++) { let chr = str.charCodeAt(i); if ( (chr >= 0x00 && chr < 0x81) || chr === 0xf8f0 || (chr >= 0xff61 && chr < 0xffa0) || (chr >= 0xf8f1 && chr < 0xf8f4) ) { //半角文字の場合は1を加算 result += 1; } else { //それ以外の文字の場合は2を加算 result += 2; } if (result <= len) { text += str[i]; } else { text += '...'; break; } } return text; }
参考サイト
- コピペで使える JavaScript逆引きリファレンス
- [JavaScript] 半角は1文字、全角は2文字として文字数をカウントする
- https://javascript.programmer-reference.com/javascript-han1zen2/
-
前の記事
AtomicDesignに挑戦した所感 ~Storybookの利用~ 2019.06.11
-
次の記事
AtomicDesignに挑戦した所感 ~特定機能に対する個別スタイル指定~ 2019.06.19