验证字符串是否包含日期

Rol*_*uul 1 html javascript string date

我目前面临一个问题:

我有我正在浏览的 .txt 文件。我想验证一行文本是否包含日期(格式:yyyy/mm/dd)。

行示例:2015/01/05 12 约翰的母亲。

正则表达式即时使用: var dateType = /^(\d{4})([\/-])(\d{1,2})\2(\d{1,2})$/;

达到这一目标的最佳方法是什么?

先感谢您!

mus*_*fan 6

好吧,您的正则表达式无法正常工作的唯一真正问题是您正在尝试匹配 start^和 end $。因此,删除“包含”逻辑的那些:

/(\d{4})([\/-])(\d{1,2})\2(\d{1,2})/
Run Code Online (Sandbox Code Playgroud)

然后你可以在你的javascript中使用这个正则表达式,test()函数如下:

var dateType = /(\d{4})([\/-])(\d{1,2})\2(\d{1,2})/;
var isMatch = dateType.test(myLine[i]);

if(isMatch){
    //...
}
Run Code Online (Sandbox Code Playgroud)

这是一个工作示例


但是,如果您知道它总是以日期开头,那么请保留^. 这样,如果您不想要以日期结尾的行,则不太可能获得意外匹配。