javascript - JS 中的日期评估
问题描述
我需要验证信用卡到期日期,我有 javascript 代码,但我不知道如何根据需要对其进行自定义。
这是我的代码,我只需要 mm/yy 格式的日期,但此代码的日期格式为 mm/dd/yyyy。
var date = document.getElementById('date');
function checkValue(str, max) {
if (str.charAt(0) !== '0' || str == '00') {
var num = parseInt(str);
if (isNaN(num) || num <= 0 || num > max) num = 1;
str = num > parseInt(max.toString().charAt(0))
&& num.toString().length == 1 ? '0' + num : num.toString();
};
return str;
};
date.addEventListener('input', function(e) {
this.type = 'text';
var input = this.value;
if (/\D\/$/.test(input)) input = input.substr(0, input.length - 3);
var values = input.split('/').map(function(v) {
return v.replace(/\D/g, '')
});
if (values[0]) values[0] = checkValue(values[0], 12);
if (values[1]) values[1] = checkValue(values[1], 31);
var output = values.map(function(v, i) {
return v.length == 2 && i < 2 ? v + ' / ' : v;
});
this.value = output.join('').substr(0, 14);
});
解决方案
推荐阅读
- android - Spinner 不会显示字符串条目
- swift - Swift:在任务完成之前调用 DispatchGroup 通知
- regex - 寻找 0.1 到 24 之间的正则表达式模式。需要允许 2 个小数位
- java - 如何从 I/O 文件 Java 中编辑特定单词
- .net-core - log4net 在 .NET Core 3.1 上运行正常吗?
- swift - FileManager 会抛出什么错误?
- sql - 列出组合和它们在 SQL 中重复的次数
- python - 使用 Python 进行 BigQuery 的基本文本挖掘和 ETL
- reactjs - 在 react-router-dom 渲染我的组件之前,如何将我的 React Context 的默认值设置为我的 localStorage?
- mysql - 不同的多选查询