验证';自日期';和';迄今为止';使用javascript

验证';自日期';和';迄今为止';使用javascript,javascript,date-comparison,Javascript,Date Comparison,我有一个表单可以为特定的时间段分配用户,并且我可以为另一个时间段重新分配相同的用户。我想确认用户指定的日期不应重叠 Ex-Form文件: Name From date To date User1 01-05-2014 10-05-2014 User2 01-05-2014 20-05-2014 User1 05-05-2014 20-05-2014 (This is Wrong Assignment. N

我有一个表单可以为特定的时间段分配用户,并且我可以为另一个时间段重新分配相同的用户。我想确认用户指定的日期不应重叠

Ex-Form文件:

Name        From date       To date
User1       01-05-2014      10-05-2014
User2       01-05-2014      20-05-2014
User1       05-05-2014      20-05-2014 (This is Wrong Assignment. Need to alert)

使用ISO格式的日期,您可以使用字符串比较

var a = [
    [ "User1", "2014-05-01", "2014-05-10" ],
    [ "User2", "2014-05-01", "2014-05-20" ],
    [ "User1", "2014-05-05", "2014-05-20" ]
]

var overlaped = a.filter(function(row, index, arr) {
    for (var cur, pos = index; cur = arr[--pos];)
        if (cur[0] == row[0] && (
            (cur[1] >= row[1] && cur[1] <= row[2]) ||
            (cur[2] >= row[1] && cur[2] <= row[2]))) break;
    return -1 != pos
})
var a=[
[“用户1”、“2014-05-01”、“2014-05-10”],
[“用户2”、“2014-05-01”、“2014-05-20”],
[“用户1”、“2014-05-05”、“2014-05-20”]
]
var overlapped=a.filter(函数(行、索引、arr){
for(var cur,pos=index;cur=arr[--pos];)
如果(cur[0]==行[0]&&(

(cur[1]>=第[1]行和&cur[1]=第[1]行和&cur[2]行这些作业存储在哪里?如何将它们放入脚本中(您不需要读取该CSV,是吗)?分配将存储在MySQL数据库中。这现在不是问题。我想验证用户输入时是否使用javascript。好的,那么您将用户输入发送到服务器以签入SQL?您遇到了什么问题?天哪,这是一个可怕的问题,太广泛了,您是否要求某人使用MySQL编写整个前端/后端。解决这个问题n分成更小的块,并单独处理它们,必要时提出一些问题。Bergi--您能参考一些Javascript验证中的示例吗