jquery tablesorter – 用空格排序数字
我有jQuery tablesorter的问题和12 345 678,91之类的数字
$(document).ready(function() { $.tablesorter.addParser({ id: 'thousands', is: function(s) { return false; }, format: function(s) { return s.replace(' ','').replace(/,/g,''); }, type: 'numeric' }); $("#tablesorter").tablesorter({ headers: { 3: { sorter:'thousands' }, 4: { sorter:'thousands' }, 5: { sorter:'thousands' } } }); });
输出filter:
-1 295,76 -331,2 -330,01 -290 0 3 986 495,06 1 942 503,09 0 0
当我替换它:s.replace(”,”)。replace(/,/ g,”); 通过这个:s.replace(new RegExp(/ [^ 0-9 / A-Za-z。] / g),“”); ……比现在还要糟糕。 有任何想法吗?
解析器不会替换所有空格; 使用replace(' ','')
只会替换第一个空格。 此外,逗号应替换为小数点,因为它表示分数。 所以,试试这个( 演示 ):
$.tablesorter.addParser({ id: 'thousands', is: function (s) { return false; }, format: function (s) { return s.replace(/\s+/g, '').replace(/,/g, '.'); }, type: 'numeric' });
Internet Explorer将空格转换为
。 对我来说这是:
return s.replace(/ /g,'').replace(/\s+/g, '')
@ Triple_6:
在实现解决方案之前理解其含义:我的猜测是你不想要空格,或者只是纯数字。
下面的表达式意味着用“”替换数字,字母,小数点和空格以外的所有内容。
s.replace(new RegExp(/[^0-9/A-Za-z. ]/g),"");
以上是我的建议。
解:
如果你不想要空格,那么从表达式中删除它。
s.replace(new RegExp(/[^0-9/A-Za-z.]/g),"");
如果您想拥有该标志,那么请包含该标志
s.replace(new RegExp(/[^0-9/A-Za-z.+-]/g),"");
正则表达式的含义:新的RegExp(/ [除了这个列表] / g),“用这个替换所有东西”);
工作jsfiddle: http : //jsfiddle.net/rK5s4/1/
下一次确实要提到你想要多次删除某些东西。 你的问题并不清楚。
在合并之前,也尝试将它们放入jsfiddle。