2010-07-29 49 views
0

有没有人知道我可以如何制作正斜杠和格式:dd/mm/yyyy在这个正则表达式中是强制性的?Javascript正则表达式帮助

// Checks a string to see if it in a valid date format 
// of (D)D/(M)M/(YY)YY and returns true/false 
function isValidDate(s) { 
    // format D(D)/M(M)/(YY)YY 
    var dateFormat = /^\d{1,4}[\.|\/|-]\d{1,2}[\.|\/|-]\d{1,4}$/; 
    if (dateFormat.test(s)) { 
     // remove any leading zeros from date values 
     s = s.replace(/0*(\d*)/gi,"$1"); 
     var dateArray = s.split(/[\.|\/|-]/); 
       // correct month value 
     dateArray[1] = dateArray[1]-1; 
     // correct year value 
     if (dateArray[2].length<4) { 
      // correct year value 
      dateArray[2] = (parseInt(dateArray[2]) < 50) ? 2000 + parseInt(dateArray[2]) : 1900 + parseInt(dateArray[2]); 
     } 
     var testDate = new Date(dateArray[2], dateArray[1], dateArray[0]); 
     if (testDate.getDate()!=dateArray[0] || testDate.getMonth()!=dateArray[1] || testDate.getFullYear()!=dateArray[2]) { 
      return false; 
     } else { 
      return true; 
     } 
    } else { 
     return false; 
    } 
} 
+0

退房:http://regexlib.com/Search.aspx?k=date – 2010-07-29 01:42:30

回答

1

强制DD/MM/YYYY尝试:

var dateFormat = /^\d{2}\/\d{2}\/\d{4}$/; 

我没有看,密切在函数的休息,但我认为那是你所追求的。

+0

*嘻嘻* ..同样的事情,同时:) – 2010-07-29 01:48:33

0

这将做到这一点,我认为..

/^\d{2}\/\d{2}\/\d{4}$/ 

被迫2位天后,2位个月,4位数字的年份和/作为分隔符..

/^[0-3][0-9]\/[0-1][0-9]\/\d{4}$/ 

到强制实施小范围控制..
:00-39
:00-19