javascript 以中文为基础截取字符串
/** * 控制文章的显示,以中文为基础 * s 待处理的字符串 * l 截取的长度 * d 是否出现“...”,默认出现 */function subStr(s,l,d){if(s == undefined){return "";}l=l*2;var r = /[^\x00-\xff]/g;if(s.replace(r, "zz").length <= l){return s; } var m = Math.floor(l/2);for(var i=m; i<s.length; i++){if(s.substring(0, i).replace(r, "zz").length>=l) {if(d==undefined){return s.substring(0, i) +"...";}else{return s.substring(0, i);}} }return s;}
测试如下:
document.write(subStr("我的未来不是梦!!!!",5));document.write("<br/>");document.write(subStr("wo de wei lai bu 是梦!!!!",5));document.write("<br/>");document.write(subStr("abcdefguiouiosanxzm,hjkad;askl;dsaj",5));
结果如下:
我的未来不...wo de wei ...abcdefguio...