2015-09-16 5 views
1

Im в настоящее время сталкивается с проблемой:Проверка, если строка содержит дату

Я .txt файл, который им будет через .. Я хочу, чтобы проверить, если строка текста содержит дату (формат: гггг/мм /).

Пример строки: 2015/01/05 12 Мать Иоанна.

Regex им с помощью: var dateType = /^(\d{4})([\/-])(\d{1,2})\2(\d{1,2})$/;

Что бы лучший способ достичь этого?

Спасибо заранее!

ответ

4

Ну, единственная реальная проблема с вашим регулярным выражением не работает, так это то, что вы пытаетесь найти начало ^ и заканчиваете $. Так удалить те, для 'содержит' логика:

/(\d{4})([\/-])(\d{1,2})\2(\d{1,2})/ 

Вы можете использовать это регулярное выражение в вашем JavaScript с помощью функции test() следующим образом:

var dateType = /(\d{4})([\/-])(\d{1,2})\2(\d{1,2})/; 
var isMatch = dateType.test(myLine[i]); 

if(isMatch){ 
    //... 
} 

Here is a working example


Однако, если вы знаете, что он всегда будет запустит с датой, затем сохраните ^. Таким образом, вы вряд ли получите неожиданные совпадения, если, например, вы не хотите, чтобы строки заканчивались датой.

+0

Спасибо за быстрый ответ. Tho, проблема в том, что я не могу найти способ проверить, содержит ли строка «тип даты» ... Im использует if предложение .. 'if (myLine [i] 'Проблема im сталкивается') { console.log (myLine [я]); } ' –

+0

ОК, я отредактирую – musefan

+1

Большое вам спасибо! Работает как шарм! –

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