浏览 3142 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-10-01
最后修改:2009-10-01
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缺省并不包含这个方案的解决...
这里我仅仅提供了中文排序的方案,对于其他字符,可以自行实现... 测试代码见附件:
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-10-01
这个已经集成到我帖子http://vb2005xu.iteye.com/blog/473215
__xu_init.js中,正在测试当中.... |
|
返回顶楼 | |
发表时间:2009-12-29
变量命名太乱了,看起来比较费时
|
|
返回顶楼 | |
发表时间:2009-12-29
恩 楼上说的是
变量加个 v_ 方法加个 f_ 全局变量 全部大写咯 |
|
返回顶楼 | |
发表时间:2009-12-30
不知所云...
|
|
返回顶楼 | |
发表时间:2010-04-26
源码下载了,可以解决中文排序的问题。
谢谢啦 ![]() |
|
返回顶楼 | |