javascript - 通过 jQuery 验证日期字符串格式的最佳方法

标签 javascript jquery jquery-validate

我发现了很多链接来验证字符串是否是日期。

herehere .

但无论如何我不知道如何验证我们是否有这个东西:

6/6/2012 其中第一个 6 是月,第二个 6 是天

如果用户这样输入:

2012 年 6 月 6 日

知道如何以正确的方式完成它吗?

谢谢!!

最佳答案

在这里,这应该适用于具有 4 位数年份和任何分隔符的任何日期格式。我从我的插件中提取了它 Ideal Forms它验证日期等等。

var isValidDate = function (value, userFormat) {
  var

  userFormat = userFormat || 'mm/dd/yyyy', // default format

  delimiter = /[^mdy]/.exec(userFormat)[0],
  theFormat = userFormat.split(delimiter),
  theDate = value.split(delimiter),

  isDate = function (date, format) {
    var m, d, y
    for (var i = 0, len = format.length; i < len; i++) {
      if (/m/.test(format[i])) m = date[i]
      if (/d/.test(format[i])) d = date[i]
      if (/y/.test(format[i])) y = date[i]
    }
    return (
      m > 0 && m < 13 &&
      y && y.length === 4 &&
      d > 0 && d <= (new Date(y, m, 0)).getDate()
    )
  }

  return isDate(theDate, theFormat)

}

关于javascript - 通过 jQuery 验证日期字符串格式的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11218181/

相关文章:

javascript - 结合 JS 和 CSS 文件作为构建的一部分

javascript - 找不到如何使我的广告居中。我试过对齐 ="center"和边距 :auto but nothing works.

javascript - createElement() 与 AJAX 响应

jquery选择 sibling 'until'

jQuery Validator addMethod 仅在第二次调用后工作

jQuery 验证多个表单上所有输入的修剪值

javascript - 显示纯 js 应用程序前端的最佳架构是什么?

php倒计时服务器端

javascript - JQuery - 如何确定特定类是否已切换?

javascript - 带有 promise 的 jQuery 验证