我正在尝试制作一个应该检查某个日期是否格式正确的函数。为此,该函数接受一个变量,并将其分解为三个子变量,年、月和日。稍后我想在几个 if 语句中检查每个子字符串。
当我使用我的 GFs 编号(即 880413,然后 year=88,month=4,day=13)运行此函数时,当我使用我自己的编号(820922)运行此函数时,该函数将年份设置为 82,月份设置为 0? !和天= 22。
这怎么可能?当月份为 04 时,它会将其截断并仅显示 4,但当月份为 09 时,它将其截断为 0。
继承人相关代码:
function isValidDate(date)
{
var valid = true;
var year = parseInt(date.substring(0, 2));
var month = parseInt(date.substring(2, 4)); // error here!
var day = parseInt(date.substring(4, 6));
alert(year+"--"+month+"--"+day+"--")
}
下面是运行号码 820922 时的输出(忘记最后 4 位,它们是瑞典社会保险号,在本例中不需要考虑)
并输出编号为 880413 的输出(再次忘记最后 4 位数字)