我需要验证用户的日期,并检查它是否是特定的格式.如果是,那么它将被接受,否则不会.我正在寻找一种
value.match("regular expression")
以上工作正常,如果我从几种格式中选择.所以,我遇到这个时刻js有兴趣知道如何使用isSame().我尝试实现,但不成功.喜欢 :
var x=moment("MM/DD/YYYY") ; x.isSame("28-02-1999"); // am getting false which is right var x=moment("28-02-1999","DD-MM-YYYY") ; x.isSame("28-02-1999"); // am getting false which is wrong
所以请帮忙.
谢谢
解决方法
Docs – Is Same
Check if a moment is the same as another moment.
moment('2010-10-20').isSame('2010-10-20'); // true
If you want to limit the granularity to a unit other than milliseconds,
pass the units as the second parameter.
moment('2010-10-20').isSame('2009-12-31','year'); // false
moment('2010-10-20').isSame('2010-01-01','year'); // true
moment('2010-10-20').isSame('2010-12-31','year'); // true
moment('2010-10-20').isSame('2011-01-01','year'); // false
你的代码
var x=moment("28-02-1999","DD-MM-YYYY"); // working x.isSame("28-02-1999"); // comparing x to an unrecognizable string
如果您尝试时间(“28-02-1999”),您的日期无效.所以将x与无效的日期字符串比较返回false.
要修复它,请使用default date format(ISO 8601):
var x = moment("28-02-1999","DD-MM-YYYY"); x.isSame("1999-02-28"); // YYYY-MM-DD
或者通过isSame一瞬间的对象.
var x = moment("28-02-1999","DD-MM-YYYY"); x.isSame( moment("28-02-1999","DD-MM-YYYY") );