验证日期对于在 JavaScript 中验证日期变得很重要,因为不同地点的不同人员在输入日期时遵循不同的格式。在我们的 Web 应用程序中验证日期时,我们必须遵循特定的格式,以便以后我们更容易处理日期。
本文将介绍如何mm/dd/yy
在 JavaScript 中以格式验证日期。
目录
1.moment.js在JavaScript 中使用库验证日期
3.Date.parse()在JavaScript中使用With方法验证日期
1.moment.js在JavaScript 中使用库验证日期
该 moment.js 库是在 JavaScript 中验证和格式化日期和时间的最佳和最简单的方法。我们将使用这个库在 JavaScript 中验证和显示日期。要使用这个库,我们首先必须使用以下命令下载它。
npm install -g moment --save
它将在您的系统中安装片刻。然后我们可以直接使用库moment()
中可用的方法moment.js
。下面是用moment.js
JavaScript 验证日期的代码。
import * as moment from 'moment';
let result = moment("05/22/12", 'MM/DD/YY',true).isValid();
console.log(result)
输出:
true
该moment
函数将三个参数作为输入;第一个是我们要验证的输入日期,第二个是我们希望日期遵循的格式,最后一个参数是可选的;如果设置为,true
那么它将使用严格的解析。严格解析要求格式和输入完全匹配,包括分隔符。最后,我们使用该isValid()
函数检查输入日期是否有效,并返回一个布尔值,true
判断输入日期是否与格式匹配,dd/mm/yy
以及false
输入日期是否与指定格式不匹配。
2.在JavaScript 中使用正则表达式验证日期
正则表达式是验证日期的好方法。许多人在谈到正则表达式时面临的唯一问题是难以理解它们,因为它们包含各种符号和数字。正则表达式中的每个符号或表达式都有自己的含义。使用这些表达式,我们可以dd/mm/yy
在 JavaScript 中以格式验证日期。
浏览器中的输出:
Date follows dd/mm/yy format
正则表达式/^(0[1-9]|1[0-2])\/(0[1-9]|1\d|2\d|3[01])\/(0[1-9]|1[1-9]|2[1-9])$/
有 3 个组。第一组代表month
,第二组代表day
,第三组代表最后2位数字year
。无论你在哪里看到正斜杠/
,它都代表组的开始,反斜杠\
代表组的结束。
一年有12个月。因此在选择月份时有两种可能性,它可以以数字开头,也可以0
以数字1
开头1
或2
。其他组的过程类似。组内的第二个表示 0 到 9 之间的\d
任何数字。您还可以创建正则表达式来验证日期。
然后我们将这个正则表达式存储在date_regex
变量中。我们将使用存储在内部myDate
的日期来检查日期是否符合dd/mm/yy
格式。如果日期遵循这种格式,我们将Date follows dd/mm/yy format
在控制台内打印;否则,我们将打印Invalid date format
.
3.Date.parse()在JavaScript中使用With方法验证日期
这Date.parse() 是一种在 JavaScript 中已经可用的方法。此方法仅将日期作为单个参数,它是一个字符串。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Document</title>
</head>
<body>
<h1 id="message"></h1>
<script>
let isValidDate = Date.parse('03/17/21');
if (isNaN(isValidDate)) {
document.getElementById('message').innerHTML = "This is not a valid date format.";
}
else{
document.getElementById('message').innerHTML = "This is a valid date format.";
}
</script>
</body>
</html>
浏览器中的输出:
This is a valid date format.
该Data.parse()
函数将根据提供的输入日期返回一个以毫秒为单位的数字。如果它不能识别输入日期,那么它将返回 NaN(不是数字)作为输出。此函数的结果存储在isValidDate
变量中。
如果isValidDate
变量内的值是NaN
(不是数字),它将返回false
,并且将在屏幕上打印的消息是This is not a valid date format.
。如果它返回true
,那么它将This is the valid date format.
在屏幕上打印消息作为输出。