在 JavaScript 中验证日期
在 JavaScript 中验证日期变得很重要,因为位于不同位置的各个人在输入日期时遵循不同的格式。在 Web 应用程序中验证日期时,我们必须遵循特定的格式,以便以后使用日期变得更加容易。
本文将介绍如何在 JavaScript 中以 mm/dd/yy
格式验证日期。
使用 JavaScript 中的 moment.js
库验证日期
moment.js
库是在 JavaScript 中验证和格式化日期和时间的最佳,最简便的方法。我们将使用此库在 JavaScript 中验证和显示日期。要使用此库,我们首先必须使用以下命令下载它。
npm install -g moment --save
它将在你的系统中安装一会儿。然后,我们可以直接使用 moment.js
库中提供的 moment()
方法。以下是在 JavaScript 中使用 moment.js
验证日期的代码。
import * as moment from 'moment';
let result = moment("05/22/12", 'MM/DD/YY',true).isValid();
console.log(result)
输出:
true
moment
函数采用三个参数作为输入。第一个是我们要验证的输入日期,第二个是我们希望日期遵循的格式,最后一个参数是可选的;如果将其设置为 true
,则将使用严格解析。严格的分析要求格式和输入(包括定界符)完全匹配。最后,我们使用 isValid()
函数检查输入日期是否有效,如果输入日期与格式 dd/mm/yy
匹配,则返回布尔值 true
,如果与日期匹配,则返回 false
。输入的日期与指定的格式不匹配。
在 JavaScript 中使用正则表达式验证日期
正则表达式是验证日期的好方法。对于正则表达式,许多人面临的唯一问题是难以理解它们,因为它们包含各种符号和数字。正则表达式中的每个符号或表达式都有其自己的含义。使用这些表达式,我们可以在 JavaScript 中以 dd/mm/yy
格式验证日期。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Document</title>
</head>
<body>
<h1 id="message"></h1>
<script>
var date_regex = /^(0[1-9]|1[0-2])\/(0[1-9]|1\d|2\d|3[01])\/(0[1-9]|1[1-9]|2[1-9])$/;
var testDate = "03/17/21"
if (date_regex.test(testDate)) {
document.getElementById("message").innerHTML = "Date follows dd/mm/yy format";
}
else{
document.getElementById("message").innerHTML = "Invalid date format";
}
</script>
</body>
</html>
在浏览器中输出:
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 个组。第一组代表月
,第二组代表天
,第三组代表年
的后两位。无论在何处看到正斜杠/
,它都代表该组的开始,而反斜杠\
则代表该组的结束。
一年有 12 个月。因此,选择月份时有两种可能性,可以以 0
开头,后跟数字,或者以 1
开头,后跟数字 1
或 2
。对于其他组来说,相同的过程是相似的。第二组中的\d
表示 0 到 9 之间的任何数字。你也可以创建用于验证日期的正则表达式。
然后,我们将此正则表达式存储在 date_regex
变量中。我们将使用存储在 myDate
中的日期来检查日期是否遵循 dd/mm/yy
格式。如果日期遵循此格式,我们将在控制台内打印 Date follows dd/mm/yy format
;否则,我们将打印 Invalid date format
。
在 JavaScript 中使用 Date.parse()
方法验证日期
Data.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 a not valid date format.
。如果返回 true
,则将打印消息 This is a valid date format.
在屏幕上作为输出。
相关文章
在 Angular 中上传文件
发布时间:2023/04/14 浏览次数:71 分类:Angular
-
本教程演示了如何在 Angular 中上传任何文件。我们还将介绍如何在文件上传时显示进度条,并在上传完成时显示文件上传完成消息。
Angular 中所有 Mat 图标的列表
发布时间:2023/04/14 浏览次数:91 分类:Angular
-
本教程演示了在哪里可以找到 Angular 中所有 Mat 图标的列表以及如何使用它们。
Angular 2 中的复选框双向数据绑定
发布时间:2023/04/14 浏览次数:139 分类:Angular
-
本教程演示了如何一键标记两个复选框。这篇有 Angular 的文章将着眼于执行复选框双向数据绑定的不同方法。
在 AngularJS 中重新加载页面
发布时间:2023/04/14 浏览次数:142 分类:Angular
-
我们可以借助 windows.location.reload 和 reload 方法在 AngularJS 中重新加载页面。
在 AngularJs 中设置 Select From Typescript 的默认选项值
发布时间:2023/04/14 浏览次数:78 分类:Angular
-
本教程提供了在 AngularJs 中从 TypeScript 中设置 HTML 标记选择的默认选项的解释性解决方案。
在 AngularJS 中启用 HTML5 模式
发布时间:2023/04/14 浏览次数:150 分类:Angular
-
本文讨论如何在 AngularJS 应用程序上启用带有深度链接的 HTML5 模式。
在 AngularJs 中加载 spinner
发布时间:2023/04/14 浏览次数:107 分类:Angular
-
我们将介绍如何在请求加载时添加加载 spinner,并在 AngularJs 中加载数据时停止加载器。
在 Angular 中显示和隐藏
发布时间:2023/04/14 浏览次数:78 分类:Angular
-
本教程演示了 Angular 中的显示和隐藏。在开发商业应用程序时,我们需要根据用户角色或条件隐藏一些数据。我们必须根据该应用程序中的条件显示相同的数据。
在 Angular 中下载文件
发布时间:2023/04/14 浏览次数:104 分类:Angular
-
本教程演示了如何在 angular 中下载文件。我们将介绍如何通过单击按钮在 Angular 中下载文件并显示一个示例。