【问题标题】:Javascript regular expression for Mmm-DD-YYYYMmm-DD-YYYY 的 Javascript 正则表达式
【发布时间】:2017-04-21 11:36:28
【问题描述】:

我正在处理与日期有关的课堂作业。

如果用户将日期指定为“Jan-12-2000”,我想检查它的模式。我尝试了很多,但无法做到。

【问题讨论】:

  • 欢迎来到 Stack Overflow!请拿起tour,环顾四周,并通读help center,尤其是How do I ask a good question? “我尝试了很多,但无法成功。”这些尝试看起来如何像?他们以什么方式没有工作?你坚持哪一部分?

标签: javascript ajax asp.net-mvc


【解决方案1】:

注册分类

  • [A-Z][a-z]{2} 查找大写的三个字母的单词
  • \d{2}求两位数
  • \d{4} 找四位数字

const reg = /[A-Z][a-z]{2}-\d{2}-\d{4}/

console.log(
  reg.test('Jan-12-2000'), // pass
  reg.test('01-10-2000')   // fail
)

【讨论】:

    【解决方案2】:

    首先将月份的缩写替换为对应的值:

    check=string=>{
     string=string.split("-");    
     date=[
       string[2],
       ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"].indexOf(string[0])+1,
       string[1]
      ];
      console.log(date.join("-"));
      return !isNaN(+new Date(date.join("-")));
      }
    

    这仅适用于正确的日期...

    check("Jan-31-2000");//true
    check("Jan-32-2000");//false
    

    http://jsbin.com/kuyuxiwufu/edit?console

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-30
      • 1970-01-01
      • 1970-01-01
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多