2013-03-04 5 views
0

В моем приложении все даты сохраняются в формате java.util.Date:JavaScript регулярное выражение для java.sql.Date

YYYY-mm-DD (year, month, day) 

Так 1988-05-13 является действительной датой. Итак, я думаю, что только цифры действительны, месяц [1:12], день [1:30] . это регулярное выражение, которое я использую для моих логинов

/^[a-z]([0-9a-z_])+$/i 

Какого JavaScript регулярного выражение, которое я должен использовать, чтобы проверить эту дату?

+0

Возможный дубликат [Регулярное выражение для формата даты - dd-mm-yyyy в Javascript] (http://stackoverflow.com/questions/8937408/regular-expression-for-date-format-dd-mm-yyyy- in-javascript) (Просто измените порядок) – gdoron

+0

Убедитесь, что регулярное выражение может сказать положительный ответ для неправильной даты, например, 55551-99-23. Поэтому попробуйте использовать некоторую предопределенную библиотеку для проверки даты. Я чувствую, что «datejs» более эффективен в обработке этого материала. –

+0

Когда-либо думал о простом использовании 'split (" - ")'? –

ответ

0

Пусть Date.parse() делать тяжелую работу за вас:

function isValidDate(str){ 
    return !isNaN(Date.parse(str)); 
} 

Date.parse(str) вернется NaN если str не является действительной датой.

0

Что-то вроде этого:

/^\d\d\d\d-\d\d-\d\d$/ 

проверит правильный формат - но это не будет проверять допустимый диапазон месяца и дня. Я не думаю, что есть способ сделать это с помощью регулярных выражений.

Смежные вопросы