使用jQuery从日期字符串中删除日期

时间:2012-08-22 17:35:11

标签: javascript jquery drupal

我正在尝试从页面上每个可能的日期中删除“日期”。

这是为了让jQuery将“08/22/2012”格式的每个日期转换为“08/2012”

我可以使用以下代码执行此操作:Replacing wildcard text using jquery

请查看我的小提琴,了解更多信息:http://jsfiddle.net/CfZjF/223/

但是,无论我尝试过什么,它都不能在这个表格布局中工作。

另一个问题是具体指定日期(可能带有通配符?) - 这是正斜杠之间的2个数字:/ xx /,但请查看小提琴了解更多信息。

关于如何解决此问题的任何想法?

3 个答案:

答案 0 :(得分:2)

尝试

str.replace(/\/\d+\//g, "/");

或者更具体地将/(\d{2})\/\d{2}\/(\d{4})/g替换为"$1/$2"或其他内容......

Updated fiddle

答案 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 + "/",""));

请注意,有更简洁的方法可以做到这一点。我这样做是因为我觉得它更好地解释了我想要做的事情。