Browse Source

Merge pull request #137 from RobinHerbots/dev

Fix for leapyear in autofill
Robin Herbots 13 years ago
parent
commit
c424e1cc46
1 changed files with 15 additions and 1 deletions
  1. 15 1
      js/jquery.inputmask.date.extensions.js

+ 15 - 1
js/jquery.inputmask.date.extensions.js

@@ -162,7 +162,21 @@ Optional extensions on the jquery.inputmask base
                             var isValid = opts.regex.yearpre2.test(chrs);
                             if (!strict && !isValid) {
                                 var yearPrefix = (new Date()).getFullYear().toString().slice(0, 2);
-                                isValid = opts.regex.year.test(yearPrefix + chrs);
+                                if (opts.regex.year.test(yearPrefix + chrs)) {
+                                    var dayMonthValue = buffer.join('').substr(0, 6);
+                                    if (dayMonthValue != opts.leapday)
+                                        isValid = true;
+                                    else {
+                                        var year = parseInt(chrs,10);//detect leap year
+                                        if (year % 4 === 0)
+                                            if (year % 100 === 0)
+                                            if (year % 400 === 0)
+                                            isValid = true;
+                                        else isValid = false;
+                                        else isValid = true;
+                                        else isValid = false;
+                                    }
+                                } else isValid = false;
                                 if (isValid) {
                                     buffer[pos-1] = yearPrefix[0];
                                     buffer[pos++] = yearPrefix[1];