今天看到一截取字符函数,代码如下:function(s, n){
if(!s)return'';
var i=-1, j=s.length, k=0, t, r=/[^\u00-\uff]/;//r=/[^\u00-\uff]/匹配什么范围的字符?
while(++i<j){
t=s.substr(i, 1);
k++;//此处的k应为已经取得的字符个数,好理解。
if(t.match(r))k++;//此处的k++;有点不明白,为什么要增加?
if(k>n)return s.substr(0, i-1)+'\u2026';//'\u2026'是什么字符?经过测试发现弹出内容为空白?
}
return s
if(!s)return'';
var i=-1, j=s.length, k=0, t, r=/[^\u00-\uff]/;//r=/[^\u00-\uff]/匹配什么范围的字符?
while(++i<j){
t=s.substr(i, 1);
k++;//此处的k应为已经取得的字符个数,好理解。
if(t.match(r))k++;//此处的k++;有点不明白,为什么要增加?
if(k>n)return s.substr(0, i-1)+'\u2026';//'\u2026'是什么字符?经过测试发现弹出内容为空白?
}
return s
r=/[^\u00-\uff]//匹配双字节字符