您的位置:首页 > 其它

[置顶] TinyTable中文排序的解决 -- 构建可移动,拖拉,排序,编辑的 Table组件[不到5K,可单独使用]

2016-08-25 16:58 375 查看
function cp(f,c){
var g,h; f=g=f.v.toLowerCase(), c=h=c.v.toLowerCase();

//数字[包括货币符号] -- 排序
//去掉空格,并转换成浮点数,不成功返回NaN,
var i=parseFloat(f.replace(/(\$|\,)/g,'')), n=parseFloat(c.replace(/(\$|\,)/g,''));
if( !isNaN(i)&&!isNaN(n) ){
//如果是数字执行...
g=i,h=n ;
}

//日期 -- 排序
//Date.parse 返回指定的日期和时间据 1970/1/1 午夜(GMT 时间)之间的毫秒数。
//不成功返回NaN,
i=Date.parse(f);
n=Date.parse(c);
if( !isNaN(i)&&!isNaN(n) ){
//如果是日期执行...
g=i; h=n;
}

//汉字比较 -- 排序
if(/^[\u0391-\uFFE5]+$/.test(f)){
return f.localeCompare(c);
}
//		return f.v.localeCompare(c.v);

return g>h ? 1 :(g<h?-1:0)
};

 作者并没有考虑到中文问题,对于大多数外国朋友而言可能并不要这个功能,比如ext缺省并不包含这个方案的解决...

 

这里我仅仅提供了中文排序的方案,对于其他字符,可以自行实现...

测试代码见附件:

 

sorter-by-色色.zip (8.1 KB)

下载次数: 399
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: