1

我正在将一些内容添加到网站中,并且需要处理条目标题,以便它们不包含任何日期。更具体地说,诸如“Lorem ipsum 30-08-2011 dolor”之类的字符串需要变为“Lorem ipsum dolor”。我必须考虑日期,例如:2011 年 8 月 30 日、2011 年 8 月 30 日和 2011 年 8 月 30 日。

在四处搜索后,我尝试了类似的方法,但它不起作用:

str.replace(/^(0?[1-9]|[12][0-9]|3[01])[\/\-\.](0?[1-9]|1[012])[\/\-\.]\d{4}$/, '');

任何帮助是极大的赞赏。谢谢!

4

3 回答 3

2

如果要匹配字符串中的模式,请删除^and 。$您当前的正则表达式将仅匹配包含日期的字符串。

此外,如果要从字符串中删除多个日期,则需要使用全局正则表达式,方法是g在结束后添加 a /

str.replace(/(0?[1-9]|[12][0-9]|3[01])[\/\-\.](0?[1-9]|1[012])[\/\-\.]\d{4}/g, '');
于 2012-10-03T08:42:37.107 回答
1

str.replace(/\d{1,2}[\-|\.|\/]\d{1,2}[\-|\.|\/]\d{2,4}/g, "")

http://jsfiddle.net/cJCBE/

于 2012-10-03T09:01:00.557 回答
0
function checkDate(date) {
  var re = /^\d{2}[.\/-]\d{2}[.\/-]\d{4}$/;
  return re.test(date);
}
于 2012-10-03T09:02:02.507 回答