Handlebars 截断字符的 helpers,使用时如下:
{{trimString name 10}}
就可以将 name 截成长度为 10 的字符,支持中英文字符。
Handlebars.registerHelper('trimString', function(passedString,len) {
if(!passedString) { return ''; }
if(!len) {return new Handlebars.SafeString(passedString); }
var theString = passedString + "";
var a = 0;
var i = 0;
var temp = '';
for (i=0;i<theString.length;i++) {
if (theString.charCodeAt(i)>255) {
a+=2;
}
else {
a++;
}
if(a > len) { return new Handlebars.SafeString(temp+"..."); }
temp += theString.charAt(i);
}
return new Handlebars.SafeString(theString);
});