我使用jQuery Validator制作了一种日期格式,格式为:dd / mm / yyyy。
但我在Google Chrome中遇到此格式的问题。 在IE或Firefox中,日期格式运行良好,但在谷歌浏览器中,格式最多接受12/12 / yyyy。例如,IE中的日期为20/12/2014即可,但在Chrome中,日期不接受。
代码:
$.validator.addMethod(
"brDate",
function(value, element) {
return value.match(/^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/);
},
"The correct date format is dd/mm/yyyy."
);
答案 0 :(得分:1)
大多数验证器已经有日期验证方法。
你在使用哪一个?
http://**formvalidator.net**/#default-validators_dates
<!-- Validate date formatted yyyy-mm-dd -->
<input type="text" data-validation="date">
<!-- Validate date formatted dd/mm/yyyy -->
<input type="text" data-validation="date" data-validation-format="dd/mm/yyyy">
我建议使用此类验证。
如果您想自己编写模式,可以使用以下模式:
^(((0?[1-9]|1[012])/(0?[1-9]|1\d|2[0-8])|(0?[13456789]|1[012])/(29|30)|(0?[13578]|1[02])/31)/(19|[2-9]\d)\d{2}|0?2/29/((19|[2-9]\d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00)))$
MM / dd / yyyy,闰年100%。自1900年起有效.MM和DD可以有1或2位数:M / d / yyyy或MM / d / yyyy或M / dd / yyyy
答案 1 :(得分:1)
最后我解决了这个问题。
jQuery.validator.methods["date"] = function (value, element) { return true; }
font:Unobtrusive validation in Chrome won't validate with dd/mm/yyyy