半角と全角の混合でsubstrを使用
by iwbjp
JavaScript
var str = "123★☆★☆★☆★☆★☆★☆";
function mbStrcut(str, size){
if(!str) str = '';
var suffix = '…';
var b = 0;
for(var i=0, len=str.length; i<len; i++){
b += str.charCodeAt(i) <= 255 ? 1 : 2;
if(b > size){
return str.substr(0, i) + suffix;
}
}
return str;
}
console.log(mbStrcut(str, 10));