это сделает это:
var rx = /^(3[0-1]|[0-2]?[0-9])\/(1[0-2]|0?[0-9])\/[0-9]{4}$/;
rx.text('01/01/2000'); //true
rx.text('1/1/2000'); //true
rx.text('32/1/2000'); //false
rx.text('1/13/2000'); //false
Однако на самом деле это не обеспечит правильную дату, поскольку позволит датам, таким как 31/2/2000
Для анализа даты и проверкион делится на /
и использует new Date
для создания объекта даты из значений, затем извлекает те же значения и проверяет, совпадают ли они, если не дата недействительна:)