我想使用tablesorter对表格单元格列进行排序,其中包含许多美元符号。美元符号的数量范围从1美元到5美元,并且应排序为1为最低,5为最高。注意:我需要完全匹配这些字符串,因为会抛出许多美元符号,所以$$$需要区别于$$和$。
这是我正在使用的代码,当我有美元符号时它不起作用,但是当我用“b”和“a”替换它们时,它完美地工作。我有2个美元符号代表1,因为我读到这是代表正则表达式中的美元符号所必需的。我也试过\$
。这可能是由于在HTML表格中输入美元符号的方式造成的吗?我使用了标准的“$”和“$
”,但都没有正常工作。
// add parser through the tablesorter addParser method
$.tablesorter.addParser({
// set a unique id
id: 'pricerange',
is: function(s) {
// return false so this parser is not auto detected
return false;
},
format: function(s) {
// format your data for normalization
return s.toLowerCase().replace(/\bd\b/g,3).replace(/\bc\b/g,2).replace(/\b$$$$\b/g,1).replace(/\b$$\b/g,0);
},
// set type, either numeric or text
type: 'numeric'
});
$(function() {
$("myTable").tablesorter({
headers: {
3: {
sorter:'pricerange'
}
}
});
});
答案 0 :(得分:1)
尝试
return s.match(/\$/g).length;