2012-10-03 77 views
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}$/, ''); 

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

回答

1

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

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

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

谢谢,工作就像一个魅力! ;) –

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