截至2017-07-14,下面的脚本还存在不会验证闰年闰月、大小月的情况,大小月、闰年、闰月只能用其他方式验证!
var currentFormat="YYYY-MM-dd HH:ss.SSS";//输入常见日期格式 currentFormat = currentFormat //优先替换特殊字符,因为后面替换的正则表达式中包含特殊字符 .replace(/s/ig, "\s") .replace(///ig, "\/") .replace(/\/ig, "\") .replace(/./ig, "\.") .replace(/-/ig, "\-") .replace(/yyyy/ig, "[1-9]\d{3}")//年份 .replace(/yy/ig, "\d{2}")//年份 .replace(/HH/, "((0[1-9])|(1\d)|(2[0-4]))")//小时 .replace(/MM/, "((0[1-9])|(1[0-2])|\d)")//月份 .replace(/dd/,"((0[1-9])|([1-2]\d)|(3[0-1]))") .replace(/mm/, "[0-5]\d|\d")//分钟 .replace(/ss/, "([0-5]\d|\d)")//秒钟 .replace(/SSS/, "\d{1,3}")//毫秒 currentFormat ="^"+currentFormat+"$";//"^{0}$".format(currentFormat); new RegExp(currentFormat).test(this.value.trim());//测试输入值