我试图用下面的代码验证str。我的最终目标是允许这种类型的输入:
18.30 Saturday_lastMatch 3/10
但是,我的代码甚至不能用于基本用法(98.5%的str将是这种格式):
19.30星期五15/5
var regex= /[0-9]{2}[\.:][0-9]{2} [A-Z][a-z]{4,7} [0-9]\/[0-9]{2}/;
if(!str.match(regex)) {
//"Bad format, match creation failed!");
}我遗漏了什么?
发布于 2015-10-01 18:14:08
你的正则表达式有很多问题。
^和$锚定正则表达式的开头和结尾。试试这个:
var regex= /^[0-9]{1,2}[.:][0-9]{1,2} [A-Z][a-z]{5,8} [0-9]{1,2}\/[0-9]{1,2}$/;发布于 2015-10-01 18:13:26
检查日/月的正则表达式的最后一部分需要展开。它目前只与#/##匹配,但也应该允许##/#。最简单的解决办法是允许两边有一个或两个数字(例如12/31)。
var regex= /[0-9]{2}[\.:][0-9]{2} [A-Z][a-z]{4,7} [0-9]{1,2}\/[0-9]{1,2}/;https://stackoverflow.com/questions/32894017
复制相似问题