2017-04-21 33 views
-1

我正在处理与日期一起使用的类作业。Mmm-DD-YYYY的Javascript正则表达式

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

+1

欢迎堆栈溢出!请[参观],环顾四周,并阅读[帮助],特别是[*我如何问一个好问题?](/帮助/如何问)*“我尝试了很多但做不到。“*这些尝试是什么样子的?他们以什么方式不工作?你坚持什么部分? –

回答

0

先用相应的值替换该月的精简版:

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

0

注册击穿

  • [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 
 
)