Javascript 验证日期输入时出现问题

Javascript 验证日期输入时出现问题,javascript,validation,Javascript,Validation,需要验证用户输入的日期是否在2014年之前或当前日期之后。我尝试用“/”分隔日期条目,然后使用parseInt捕捉[2]点是否小于2014,但似乎不起作用 表格{边框样式:插图; 边框颜色:蓝色; 高度:360px; 宽度:775px; 保证金:自动; } //声明3个数组 var fullNames=新数组(100); 变量日期=新数组(100); var=新阵列(100); //全局变量 var numOfRatings=0; //验证字段是否为空,日期是否正确,然后将数据分配给数组 函

需要验证用户输入的日期是否在2014年之前或当前日期之后。我尝试用“/”分隔日期条目,然后使用parseInt捕捉[2]点是否小于2014,但似乎不起作用


表格{边框样式:插图;
边框颜色:蓝色;
高度:360px;
宽度:775px;
保证金:自动;
}
//声明3个数组
var fullNames=新数组(100);
变量日期=新数组(100);
var=新阵列(100);
//全局变量
var numOfRatings=0;
//验证字段是否为空,日期是否正确,然后将数据分配给数组
函数validateData()
{
var fullNameStr=document.getElementById(“FullName”).value;
var dateStr=document.getElementById(“日期”).value;
var opinionStr=document.getElementById(“意见”).value;
如果(!fullNameStr | | | |!opinionStr | |!dateStr){
警告(“请填写所有字段”);
返回;
}
否则{
var dateVal=dateStr;
var dateParts=dateVal.split(“/”);
if(parseInt(日期部分[2])<“2014”){
警报(“无效日期!”);
}
否则{
全名[numoratings]=全名tr;
日期[numOfRatings]=dateStr;
意见[numOfRatings]=意见;
Numof++;
document.getElementById(“全名”).value=“”;
document.getElementById(“日期”).value=“”;
document.getElementById(“意见”).value=“”;
}
}
}		
//显示数组中保存的数据
函数displayData()
{
var-col;
var-pos;
document.getElementById(“列表”).value=“全名日期评级\n”;
对于(pos=0;posif(parseInt(dateParts[2])<“2014”){
代码的上述部分正在使用字符串检查dateParts[2](Int)

您还必须将“2014”部分作为一个整数

所以上面的一行应该是

if (parseInt(dateParts[2]) < 2014) {
if(parseInt(dateParts[2])<2014){

此外,我建议使用任何与日期时间相关的功能。

无论输入框中显示什么,都将以YYYY-MM-DD格式检索日期。 尝试用连字符(-)将其拆分

此外,在比较时,使用2014作为数字而不是字符串

var dateParts = dateVal.split("-");
if (parseInt(dateParts[0]) < 2014)
var dateParts=dateVal.split(“-”);
if(parseInt(dateParts[0])<2014)
var dateParts = dateVal.split("-");
if (parseInt(dateParts[0]) < 2014)