isValid()
编辑教程isValid()
moment().isValid();
Moment 比 Date 构造器应用更严格的初始化规则。
new Date(2013, 25, 14).toString(); // "Sat Feb 14 2015 00:00:00 GMT-0500 (EST)"
moment([2015, 25, 35]).format(); // 'Invalid date'
可以使用 moment#isValid 检查 Moment 是否被视为无效的日期。 可以使用 moment#parsingFlags 查看 #isValid 使用的指标,该指标返回一个对象。
无效的日期会返回以下的解析标志:
overflow | 日期字段的溢出 | 例如第 13 个月 月份的第 32 天 (或非闰年的 2 月 29 日) 年份的第 367 天等。 |
overflow包含匹配 #invalidAt 的无效单位的索引,-1 表示没有溢出。 |
---|---|---|---|
invalidMonth | 无效的月份名称 | 例如 moment('Marbruary', 'MMMM');。 | 会包含无效的月份字符串本身或 null。 |
empty | 包含无法解析任何内容的输入字符串 | 例如 moment('this is nonsense'); | 布尔值。 |
nullInput | 输入 nul | ,例如 moment(null); | 布尔值。 |
invalidFormat: | 空的格式列表 | 例如 moment('2013-05-25', []) | 布尔值。 |
userInvalidated: | 显式地创建为无效的日期 | 例如 moment.invalid() | 布尔值。 |
除上述内容外,从 2.13.0 开始,meridiem 和 parsedDateParts 标志也可以一起判断日期的有效性。
- meridiem: 表明解析的子午线(AM/PM),如果有的话。字符串。
- parsedDateParts: 返回按降序解析的日期片段的数组,即 parsedDateParts[0] === 年份。 如果没有片段,但子午线有值,则日期无效。数组。
此外,如果在严格模式中解析 Moment,则这些标志必须为空才能使 Moment 有效:
unusedTokens | 在输入的字符串中找不到格式数组的子字符串。 |
---|---|
unusedInput | 输入的子字符串数组与格式字符串不匹配。 |
注意:Moment 的有效性概念在 2.2 和 2.3 之间变得更加严格和一致。 注意:有效性在创建 moment 时确定。 修改的 moment(即 moment().hour(NaN))将会保持有效。
此外,可以使用 moment#invalidAt 来确定溢出的是哪个日期单位。
var m = moment("2011-10-10T10:20:90");
m.isValid(); // false
m.invalidAt(); // 5 表示秒钟
返回值具有以下含义:
年份
月份
日期
小时
分钟
秒钟
毫秒
注意:如果有多个错误的单位,则返回第一个单位(例如,由于日期的有效性可能取决于月份)。
无效的 Moment
如果 moment 无效,则在浮点运算中的行为类似于 NaN。
以下所有的都会生成无效的 moment:
invalid.add(unit, value) | |
---|---|
another.add(invalid) | |
invalid.clone() | |
invalid.diff(another) | |
invalid.endOf(unit) | |
invalid.max(another) | |
another.max(invalid) | |
invalid.min(another) | |
another.min(invalid) | |
invalid.set(unit, value) | |
invalid.startOf(unit) | |
invalid.subtract(unit, value) |
以下会生成 'InvalidDate' 的本地化版本:
invalid.format(anyFmt) 在当前语言环境中导致 'Invalid Date'。 | |
---|---|
invalid.from(another) | |
another.from(invalid) | |
invalid.fromNow(suffix) | |
invalid.to(another) | |
another.to(invalid) | |
invalid.toNow(suffix) | |
invalid.toISOString() (在 2.18.0 之前) | |
invalid.toString() |
以下会返回 false:
invalid.isAfter(another) | |
---|---|
invalid.isAfter(invalid) | |
another.isAfter(invalid) | |
invalid.isBefore(another) | |
invalid.isBefore(invalid) | |
another.isBefore(invalid) | |
invalid.isBetween(another, another) | |
invalid.isBetween(invalid, invalid) | |
invalid.isSame(another) | |
invalid.isSame(invalid) | |
another.isSame(invalid) | |
invalid.isSameOrAfter(another) | |
invalid.isSameOrAfter(invalid) | |
another.isSameOrAfter(invalid) | |
invalid.isSameOrBefore(another) | |
invalid.isSameOrBefore(invalid) | |
another.isSameOrBefore(invalid) |
这些会返回具有某些结构的 null 或 NaN:
invalid.get(unit) 返回 null,就像其他所有命名的 getter 一样。 | |
---|---|
invalid.toArray() === [NaN, NaN, NaN, NaN, NaN, NaN] | |
invalid.toObject() 的所有值都被设置为 NaN。 | |
invalid.toDate() 返回无效的 Date 对象。 | |
invalid.toJSON() 返回 null。 | |
invalid.unix() 返回 null。 | |
invalid.valueOf() 返回 null。 | |
invalid.toISOString() 返回 null(从 2.18.0 开始)。 |
Mos固件,小电视必刷固件
ES6 教程
Vue.js 教程
JSON 教程
jQuery 教程
HTML 教程
HTML 5 教程
CSS 教程
CSS3 教程
JavaScript 教程
DHTML 教程
JSON在线格式化工具
JS在线运行
JSON解析格式化
jsfiddle中国国内版本
JS代码在线运行
PHP代码在线运行
Java代码在线运行
C语言代码在线运行
C++代码在线运行
Python代码在线运行
Go语言代码在线运行
C#代码在线运行
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。
大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
选择支付方式:
立即支付
¥
9.99
无法付款,请点击这里
金额: 0 元
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟