javascript - 如何在信用卡表格中验证到期日期?
问题描述
我是 Web 开发的初学者,我必须以 MM-DD-YYYY 的格式在表格中提交我的信用卡的到期日期。我编写了一些代码来识别字符串是否采用这种特定格式。但是我想检查日期是否已经过期并且小于我们拥有的当前日期并专门检查格式中的每个元素(例如检查 MM > 12)。我希望您能帮助指导我解决这个问题任务。先感谢您 。
我的代码:
function checkdate(){
var dateReg = /^\d{2}([./-])\d{2}\1\d{4}$/ //MM-DD-YYYY format
var date = document.getElementById("date");
//i can just check if my element is date format
if(!date.value.match(dateReg)){
alert("not a date ");
return false;
}
return true;
}
<label for "expiration-date"> Card Expiration Date </label>
<input type = "text" name = "exp-date" id = "date" placeholder = "MM/DD/YYYY" required>
<button type = "submit" class = "submitbtn" onclick= "return checkdate()">Submit</button>
解决方案
您可以解析日期并将其与当前日期进行比较。
function checkdate(){
var dateReg = /^\d{2}([./-])\d{2}\1\d{4}$/ //MM-DD-YYYY format
var date = document.getElementById("date");
//i can just check if my element is date format
if(!date.value.match(dateReg)){
alert("not a date ");
return false;
}else{
const date1 = new Date(date.value);
const date2 = new Date();
const diffTime = (date2 - date1);
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
if(diffDays > 0){
alert("card expired");
}else{
alert("card valid");
}
}
return true;
}
<label for "expiration-date"> Card Expiration Date </label>
<input type = "text" name = "exp-date" id = "date" placeholder = "MM/DD/YYYY" required>
<button type = "submit" class = "submitbtn" onclick= "return checkdate()">Submit</button>
推荐阅读
- arrays - How to remove single quote in python list
- excel - 使用单元格值和 excel 中的一些附加文本创建超链接
- python - django m2m 关系真的有必要吗?
- echarts - 如何在echarts中突出显示线条和所有点
- mysql - 如何保持表格的最新记录
- clang - 如何从 LLVM 生成代码,然后我想将其作为 Z3 证明者的输入
- python - 如何在python中使用运算符打印变量输入
- php - 如何验证具有多个模型的表单?
- html - 我们如何将 PDF 超链接值传递给 HTML 页面或 ASP.NET 页面
- excel - 用户选择上传 CSV 文件并定界(文本到列)