Мой код выглядит следующим образомJavaScript матч «матч» оленья кожа
var html = $(el).html().toString();
html = '2012-05-10';
var re = new RegExp('^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$');
var m = re.exec(html);
if (m != null)
alert('match');
else
alert('nomatch');
Цель регулярного выражения, чтобы проверить, содержит ли строка любые даты. Однако он никогда не находит никаких дат. Я проверил регулярное выражение с помощью онлайн-инструмента regexp.
подобно тому, как предложение: Better матч только за то, что выглядит dateish (например, '## ## #.. ### ') и затем проверьте, действительно ли совпадение является действительной датой (месяц между 1 и 12 и т. д.). Это делает вещи намного проще, и вы действительно можете проверить, например. если данный месяц, например. имеет 31-ю или нет. – ThiefMaster
Вот сайт, который может помочь: http://www.mkyong.com/regular-expressions/how-to-validate-date-with-regular-expression/ – jao
Вам не нужно использовать конструктор при создании шаблона , Они обычно используются, только если ваш шаблон должен ссылаться на переменные. Литеральный '/ pattern /' [лучше для производительности] (https://developer.mozilla.org/en/JavaScript/Guide/Regular_Expressions). – Utkanos