下面就给大家详细讲解一下js判断日期时间有效性的方法。
前言
在开发web应用程序时,时间日期是一个常见的数据类型。在应用程序中,我们需要对用户输入的时间日期进行校验,以保证数据的正确性。本文将介绍如何使用js对时间日期的有效性进行判断。
方法一:正则表达式
使用正则表达式判断日期时间的有效性是一种常用且简单的方法。JS中对日期进行比较主要用到了Date对象中的getTime()方法,将日期转换成毫秒数来进行比较。判断日期格式是否正确,可以使用正则表达式进行匹配,具体方法如下:
function isValidDate(dateStr){
var regEx = /^\d{4}-\d{1,2}-\d{1,2}$/;
if(!dateStr.match(regEx)) return false; //格式不正确
var d = new Date(dateStr);
if(Number.isNaN(d.getTime())) return false; //无效日期
return d.toISOString().slice(0,10) === dateStr;
}
其中,正则表达式 ^\d{4}-\d{1,2}-\d{1,2}$
用于匹配年月日格式,示例:
console.log(isValidDate('2010-02-31')); // false
console.log(isValidDate('2010-04-31')); // false
console.log(isValidDate('2010-06-31')); // false
console.log(isValidDate('2010-09-31')); // false
console.log(isValidDate('2010-11-31')); // false
方法二:moment.js
moment.js是一个非常常用的js日期库,提供了丰富的日期操作函数,使用起来非常方便。在使用之前,需要先引入moment.js库,并且使用moment()
方法获取当前日期。下面给出一个示例:
var moment = require('moment'); //引入moment.js
var dateStr = '2018-01-30 12:30:45';
var dateFormat = 'YYYY-MM-DD HH:mm:ss';
var isValid = moment(dateStr, dateFormat, true).isValid();
console.log(isValid); // true
其中,moment(dateStr, dateFormat, true).isValid()
用于判断日期时间是否有效,如果有效,则返回true,否则返回false。
总结
本文介绍了JS中使用正则表达式和moment.js这两种方法来判断日期时间的有效性。两种方法都有其优缺点,开发者可以根据需要选择合适的方法来进行日期时间判断。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js判断日期时间有效性的方法 - Python技术站