Bug 14060: Improve regex to limit year to 4 integers
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Tue, 6 Sep 2016 11:58:31 +0000 (12:58 +0100)
committerKyle M Hall <kyle@bywatersolutions.com>
Thu, 8 Sep 2016 12:04:21 +0000 (12:04 +0000)
01/01/01984 should not be considered as a valid date.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
koha-tmpl/intranet-tmpl/prog/en/includes/calendar.inc

index 7175df2..aba713e 100644 (file)
@@ -14,16 +14,16 @@ function is_valid_date(date) {
 
     var dateformat = dateformat_str = '[% Koha.Preference('dateformat') %]';
     if ( dateformat == 'us' ) {
-        if ( date.search(/\d{2}\/\d{2}\/\d{4}/) == -1 ) return 0;
+        if ( date.search(/^\d{2}\/\d{2}\/\d{4}($|\s)/) == -1 ) return 0;
         dateformat = 'mm/dd/yy';
     } else if ( dateformat == 'metric' ) {
-        if ( date.search(/\d{2}\/\d{2}\/\d{4}/) == -1 ) return 0;
+        if ( date.search(/^\d{2}\/\d{2}\/\d{4}($|\s)/) == -1 ) return 0;
         dateformat = 'dd/mm/yy';
     } else if (dateformat == 'iso' ) {
-        if ( date.search(/\d{2}-\d{2}-\d{4}/) == -1 ) return 0;
+        if ( date.search(/^\d{2}-\d{2}-\d{4}($|\s)/) == -1 ) return 0;
         dateformat = 'yy-mm-dd';
     } else if ( dateformat == 'dmydot' ) {
-        if ( date.search(/\d{2}\.\d{2}\.\d{4}/) == -1 ) return 0;
+        if ( date.search(/^\d{2}\.\d{2}\.\d{4}($|\s)/) == -1 ) return 0;
         dateformat = 'dd.mm.yy';
     }
     try {