如何在JavaScript中验证日期模式?
在本教程中,我们将学习如何在JavaScript中验证日期模式。
JavaScript中的Date对象以平台无关的方式表示单个时间点。它包含一个数字,表示自1970年1月1日00:00:00(UTC)以来的毫秒数。Date对象的格式可能不同,因此在使用之前验证日期模式至关重要。
在本教程中,我们将讨论两种在JavaScript中验证日期模式的方法:
- 使用getTime()方法
- 使用Date构造函数和split()方法
使用getTime()方法验证日期模式
在JavaScript中,getTime()方法返回自1970年1月1日00:00:00(UTC)以来的毫秒数。首先,我们通过在Date构造函数中传递日期模式来创建一个JavaScript日期对象,然后我们调用其上的getTime()方法。如果提供的模式无效,此方法将返回NaN(非数字)。
语法
const isValid = new Date('14/14/2022').getTime()
console.log(isValid) //NaN
if (isNaN(isValid)) {
console.log('Date pattern is invalid')
} else {
console.log('Date pattern is valid')
}
在上面的语法中,我们使用日期模式“14/14/2022”创建一个Date对象并使用getTime()方法。之后,使用isNaN()方法检查getTime()方法的返回值是否为NaN。如果值为NaN,则日期模式无效。
示例
在下面的示例中,我们验证JavaScript中的多个日期模式。“验证”按钮与单击事件相关联,每当用户单击该按钮时,都会触发validatePattern()函数。此函数使用Date构造函数和getTime()方法来验证日期模式。
<html> <head> <style> .element { padding: 15px; margin-top: 5px; background-color: rgb(169, 231, 224); border: 1px solid black; } </style> </head> <body> <h2>Validating the date pattern with JavaScript using the<i>getTime() method</i></h2> <button onclick = "validatePattern()">Validate</button> <div id = "element1" class = "element">1/1/2022</div> <div id = "element2" class = "element">14/14/2022</div> <div id = "element3" class = "element">10-10-2000</div> <div id = "element4" class = "element">32-32-2000</div> <div id = "element5" class = "element">January 1 2022</div> <div id = "element6" class = "element">January 35 2022</div> <script> // All elements const element1 = document.getElementById('element1') const element2 = document.getElementById('element2') const element3 = document.getElementById('element3') const element4 = document.getElementById('element4') const element5 = document.getElementById('element5') const element6 = document.getElementById('element6') // All date patterns const date1 = '1/1/2022' const date2 = '14/14/2022' const date3 = '10-10-2000' const date4 = '32-32-2000' const date5 = 'January 1 2022' const date6 = 'January 35 2022' // "Validate" button click event handler function function validatePattern() { element1.innerHTML = date1 + ' = ' + validate(date1) element2.innerHTML = date2 + ' = ' + validate(date2) element3.innerHTML = date3 + ' = ' + validate(date3) element4.innerHTML = date4 + ' = ' + validate(date4) element5.innerHTML = date5 + ' = ' + validate(date5) element6.innerHTML = date6 + ' = ' + validate(date6) } function validate(pattern) { const isValid = new Date(pattern).getTime() if (isNaN(isValid)) { return 'invalid' } else { return 'valid' } } </script> </body> </html>
使用Date构造函数和split()方法验证日期模式
在这种方法中,我们采用日期模式并使用split()方法将其拆分为数组;然后,我们使用数组元素创建一个JavaScript日期对象。之后,我们使用日期模式检查日期对象的月份、日期和年份。如果Date对象无效或日期、月份或年份与日期模式不匹配,则应将日期模式视为无效。此方法仅可用于“MM/DD/YYYY”类型的日期模式。
语法
function validate(date) {
var split = date.split('/')
var date = new Date(split[2] + '/' + split[0] + '/' + split[1])
return (
date &&
date.getMonth() + 1 == split[0] &&
date.getDate() == Number(split[1]) &&
date.getFullYear() == Number(split[2])
)
}
在上面的语法中,validate函数使用Date构造函数和split方法来验证日期模式。
示例
在下面的示例中,我们使用Date构造函数和split方法使用JavaScript验证日期模式。首先,用户可以在输入字段中输入他们的日期模式。然后,使用一个“验证”按钮,该按钮在单击事件上执行“validate()”函数。此函数验证用户输入的日期模式并显示输出。
<html> <body> <h2>Validating the date pattern with JavaScript using the<i>the Date constructor</i> and <i>the split method</i></h2> <h4>Enter the date pattern:</h4> <input type="text" id="date-pattern" name="date-pattern" value = "11/07/2022"/> <button onclick = "validatePattern()"> Validate </button> <div id="root" style="padding: 15px; margin-top: 5px; background-color: rgb(169, 231, 224); border: 1px solid black;"> </div> <script> // "Validate" button click event handler function function validatePattern() { // user input value const date_pattern = document.getElementById('date-pattern').value const root = document.getElementById('root') root.innerHTML = date_pattern + ' = ' + validate(date_pattern) } function validate(date) { var split=date.split('/') var date = new Date(split[2] + '/' + split[0] + '/' + split[1]) return ( date && date.getMonth() + 1 == split[0] && date.getDate() == Number(split[1]) && date.getFullYear() == Number(split[2]) ) } </script> </body> </html>
在本教程中,我们学习了如何使用JavaScript验证日期模式。我们讨论了两种方法:getTime()方法和Date构造函数以及split()方法。用户可以根据需要遵循任何一种方法。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP