我正在尝试从页面上每个可能的日期中删除“日期”。
这是为了让jQuery将“08/22/2012”格式的每个日期转换为“08/2012”
我可以使用以下代码执行此操作:Replacing wildcard text using jquery
请查看我的小提琴,了解更多信息:http://jsfiddle.net/CfZjF/223/
但是,无论我尝试过什么,它都不能在这个表格布局中工作。
另一个问题是具体指定日期(可能带有通配符?) - 这是正斜杠之间的2个数字:/ xx /,但请查看小提琴了解更多信息。
关于如何解决此问题的任何想法?
答案 0 :(得分:2)
尝试
str.replace(/\/\d+\//g, "/");
或者更具体地将/(\d{2})\/\d{2}\/(\d{4})/g
替换为"$1/$2"
或其他内容......
答案 1 :(得分:0)
我认为你应该单独遍历表格单元格而不是试图用整行HTML进行全局破解。
这假设您的数据格式化为jsFiddle。
更新了小提琴:http://jsfiddle.net/GKrCS/
$('tr').each(function(){
$('td',this).not(':first').text(
function(){
return $(this).text().replace(/\/[0-9]+\//,'/');
});
});
答案 2 :(得分:0)
由于所有日期都采用xx / xx / xxxx格式,因此使用简单的split()会将其拆分为具有以下值的数组:
xx,xx,xxxx
所以,像这样:
var totalDate = $("whateverYourDateSelectorMightBe");
var daysInMiddle = totalDate.val().ToString().split(",")[1];
所以你可以这样做:
totalDate.val(totalDate.val().ToString().replace(daysInMiddle + "/",""));
请注意,有更简洁的方法可以做到这一点。我这样做是因为我觉得它更好地解释了我想要做的事情。