【问题标题】:Validate array of 'from date' and 'to date' using javascript使用javascript验证“从日期”和“到日期”的数组
【发布时间】:2014-04-15 09:26:05
【问题描述】:

我有一个表格可以在特定时间段内分配用户,我可以在另一个时间段内重新分配同一用户。我想验证用户分配的日期不应重叠。

Ex 表单归档:

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)

【问题讨论】:

  • 这些作业存储在哪里?您如何将它们放入您的脚本中(您不需要阅读该 CSV,是吗)?
  • 分配将存储在 MySQL 数据库中。现在这不是问题。我想验证用户何时通过 javascript 输入。
  • OK,那么您将用户输入发送到服务器以检查 SQL 吗?您遇到的是什么问题?
  • 天哪,这是一个可怕的问题,太宽泛了,你是在要求某人用 mysql 编写整个前端/后端。将问题分解成更小的部分并单独处理它们,必要时提出 SO 问题。
  • Bergi--你能参考一些Javascript验证的例子吗

标签: javascript date-comparison


【解决方案1】:

使用 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
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-22
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 2021-02-23
    相关资源
    最近更新 更多