当前位置 : 主页 > 网络编程 > JavaScript >

10个短小却超实用的JavaScript代码段

来源:互联网 收集:自由互联 发布时间:2021-06-28
可以使用下面这段日期校验代码,它允许你自定义日期格式并进行日期有效性的校验 function isValidDate(value, userFormat) { // Set default format if format is not provided userFormat = userFormat || 'mm/dd/yyyy
可以使用下面这段日期校验代码,它允许你自定义日期格式并进行日期有效性的校验
function isValidDate(value, userFormat) {

  // Set default format if format is not provided
  userFormat = userFormat || 'mm/dd/yyyy';

  // Find custom delimiter by excluding
  // month, day and year characters
  var delimiter = /[^mdy]/.exec(userFormat)[0];

  // Create an array with month, day and year
  // so we know the format order by index
  var theFormat = userFormat.split(delimiter);

  // Create array from user date
  var theDate = value.split(delimiter);

  function isDate(date, format) {
    var m, d, y, i = 0, len = format.length, f;
    for (i; i < len; i++) {
      f = format[i];
      if (/m/.test(f)) m = date[i];
      if (/d/.test(f)) d = date[i];
      if (/y/.test(f)) y = date[i];
    }
    return (
      m > 0 && m < 13 &&
      y && y.length === 4 &&
      d > 0 &&
      // Check if it's a valid day of the month
      d <= (new Date(y, m, 0)).getDate()
    );
  }

  return isDate(theDate, theFormat);
}


使用方法:
下面这个调用返回false,因为11月份没有31天


isValidDate('dd-mm-yyyy', '31/11/2012')
网友评论