从字符串中删除日期

时间:2012-10-03 08:38:36

标签: javascript regex

我在网站上收到一些内容,需要处理条目标题,以便它们不包含任何日期。更具体地说,诸如“Lorem ipsum 30-08-2011 dolor”之类的字符串需要成为“Lorem ipsum dolor”。我必须考虑日期,例如:30-08-2011,30.08.2011和30/08/2011。

在搜索之后我尝试了类似的东西,但它不起作用:

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

非常感谢任何帮助。谢谢!

3 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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

http://jsfiddle.net/cJCBE/

答案 2 :(得分:0)

function checkDate(date) {
  var re = /^\d{2}[.\/-]\d{2}[.\/-]\d{4}$/;
  return re.test(date);
}