有没有一种方法可以使用Moment JS验证时间?

奇兰吉卜

有没有一种方法可以验证使用Moment JS作为时间传递的字符串是否有效?

理想情况下不应发生的操作moment("2014-12-13 asdasd","YYYY-MM-DD LT").isValid()moment("asdasd","LT").isValid()等同操作true

我的应用程序使用多种语言,实际上我不可能提出RegEx模式来验证字符串。例如,如果我将时间字符串获取为"午前12時12分0秒",则Moment JS应该能够对此进行验证。我检查了源,发现库中的时间检查不是那么严格。我可能错过了一些东西。请帮忙。

马特·约翰逊·品特

文档中所述,从2.3.0版本开始,您可以传递第三个参数true,以打开“严格解析”模式。

moment("2014-12-13 asdasd","YYYY-MM-DD LT", true).isValid()   // false

moment("2014-12-13 12:34 PM","YYYY-MM-DD LT", true).isValid()   // true

不利的一面是,它必须与语言环境的格式(即作为第二个参数提供的格式)完全匹配由于LTh:mm A英语等效,因此它将仅接受12个小时的时间,而无需秒。如果您经过24小时或秒,那么它将失败。

moment("2014-12-13 12:34:00 PM","YYYY-MM-DD LT", true).isValid()   // false
moment("2014-12-13 15:00","YYYY-MM-DD LT", true).isValid()         // false

更好的解决方案可能是通过严格的解析传递多种格式:

var formats = ["YYYY-MM-DD LT","YYYY-MM-DD h:mm:ss A","YYYY-MM-DD HH:mm:ss","YYYY-MM-DD HH:mm"];
moment("2014-12-13 12:34 PM", formats, true).isValid()     // true
moment("2014-12-13 15:00", formats, true).isValid()        // true
moment("2014-12-13 12:34:00 PM", formats, true).isValid()  // true

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有没有一种方法可以使用Zend-Mail验证SMTP配置?

有没有一种方法可以使用Node.js域模块获取父域?

有没有一种方法可以使用JS和AngularJS获取HTTP状态代码名称?

有没有一种方法可以使用node.js读取图像元数据

有没有一种方法可以使用Three.js LoadingManager加载视频?

有没有一种方法可以使用fabric.js导入图像文件?

有没有一种方法可以使用websoket重载Node.js事件循环

有没有一种方法可以使用Office.js无缝发送邮件?

有没有一种方法可以使用Python找出所有EC2实例的最后重启时间

有没有一种方法可以使Discord.js中的频道仅表情?

有没有一种方法可以计算没有导入的时间?

有没有一种方法可以使用嘲讽(或类似方法)来模拟我从单元测试中“调用”的脚本的日期和时间?

有没有一种方法可以使用Table(azure-storage)客户端API使用CosmosDb设置项目级别TTL(生存时间)?

有没有一种方法可以使用gulp删除require.js define([...])包装器的所有实例?

有没有一种方法可以使用mailto:链接,其中包含时间戳或某种独特的代码?

有没有一种方法可以使用VBA从ASC文档中导入数据并根据上次修改的日期调整时间数据?

有没有一种方法可以使UI输入框以指定的时间间隔弹出,而不管您使用Apps Scipt所处的页面如何?

有没有一种方法可以使用聚合物的元素而不使用节点。JS NPM和凉亭?

有没有一种方法可以使用React和Observables(rx.js)将文件上传到Node.js?

有没有一种方法可以使用node.js覆盖yaml文件中的基本设置?

有没有一种方法可以使用Node.js oracledb库而不编辑我的PATH变量?

有没有一种方法可以使用JavaScript(Vue.js)将Java应用程序(游戏)实现到网站中

有没有一种方法可以使用Alpine.js向循环对象添加属性或组件数据?

有没有一种方法可以使用 rgba 颜色 [0, 15, 31, 0.4 ] 在 vue js 中设置 TD 元素的样式

有没有一种方法可以正式下载或验证Windows安装ISO?

有没有一种方法可以确保对@property以外的变量执行验证?

有没有一种方法可以在Spring Boot中验证@Value?

有没有一种方法可以验证Vue中的多个道具?

有没有一种方法可以获取更新索引的镜像的时间戳记?