如何在 javascript 中验证整数是否为验证日期
How to validate whether an integer is a validate date in javascript?
用户需要输入一个字符串作为整数,也输入一个日期,格式为yyyymmdd
,如20150127
。
它必须是纯整数和绝对验证日期。例如,20150011
或20150230
将无效。
我目前的做法只是简单地将字符串分成year
、month
、day
,然后尝试自己验证它们。例如,month
必须在[1,12]
范围内,等等。
但理想情况下,我想尝试将其解析为正确的日期,否则,我无法处理一个月缺少一天的情况,例如 2 月或 4 月没有 31 等。
如何完美地进行此验证?
function parseDate(str) {
var y = str.substr(0,4),
m = str.substr(4,2) - 1,
d = str.substr(6,2);
var D = new Date(y,m,d);
return (D.getFullYear() == y && D.getMonth() == m && D.getDate() == d) ? D : false;
}
console.log(parseDate('20150131')); // returns Sat Jan 31 2015 00:00:00 GMT+0100 (W. Europe Standard Time)
console.log(parseDate('20150231')); // returns false
您可以使用"moment.js"javascript库进行验证。
var m = moment("2011-10-10T10:20:90");
m.isValid(); // false
相关文章:
- 如何在 javascript 中验证整数是否为验证日期
- 如何验证数字是否为整数
- 如何在主干形式的整数文本字段上定义最小/最大验证
- 验证字符串是否为正整数
- AngularJS 表单验证 - 类型错误:无法设置未定义的属性“整数”
- 验证输入的数字是整数还是“一半”
- jquery表单验证需要一组输入中的一个,并要求输入是整数
- 使用正/负整数和浮点数验证逗号分隔的数字
- 在jquery验证插件中检查正整数(不包括零)
- Javascript验证只允许正整数和负整数..没有小数
- Regex验证文本区域中的整数和十进制数
- 用于浮点和整数验证的JavaScript
- 我如何验证一个文本框,它应该只允许字符a-Z&a-z,不是整数也不是特殊字符
- JavaScript 在 IE7 中,数字(整数)验证不起作用
- 使用javascript进行整数验证
- 使用Javascript检查文本框上的整数验证
- PHP验证整数无效
- 用整数验证数量
- 仅为整数添加验证
- 如何验证应该包含整数的输入字段值