首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hour.minute dayName日/月格式日期的Regex

hour.minute dayName日/月格式日期的Regex
EN

Stack Overflow用户
提问于 2015-10-01 18:02:21
回答 2查看 56关注 0票数 1

我试图用下面的代码验证str。我的最终目标是允许这种类型的输入:

18.30 Saturday_lastMatch 3/10

但是,我的代码甚至不能用于基本用法(98.5%的str将是这种格式):

19.30星期五15/5

代码语言:javascript
复制
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!");
}

我遗漏了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-01 18:14:08

你的正则表达式有很多问题。

  1. 日期和时间匹配部分在开始和结束不允许1或2位数字,因为他们应该。
  2. 您可能需要考虑分别用^$锚定正则表达式的开头和结尾。
  3. 字符类中的文字点不需要转义。

试试这个:

代码语言:javascript
复制
var regex= /^[0-9]{1,2}[.:][0-9]{1,2} [A-Z][a-z]{5,8} [0-9]{1,2}\/[0-9]{1,2}$/;
票数 3
EN

Stack Overflow用户

发布于 2015-10-01 18:13:26

检查日/月的正则表达式的最后一部分需要展开。它目前只与#/##匹配,但也应该允许##/#。最简单的解决办法是允许两边有一个或两个数字(例如12/31)。

代码语言:javascript
复制
var regex= /[0-9]{2}[\.:][0-9]{2} [A-Z][a-z]{4,7} [0-9]{1,2}\/[0-9]{1,2}/;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32894017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档