Соответствие регулярному выражению для проверки на действительный год - PullRequest
71 голосов
/ 07 декабря 2010

Учитывая значение, которое я хочу проверить, чтобы проверить, является ли это действительным годом.Мой критерий прост, где значение должно быть целым числом 4 символов.Я знаю, что это не лучшее решение, так как оно не позволит лет до 1000 и позволит годы, такие как 5000.Этот критерий подходит для моего текущего сценария.

Я придумал:

\d{4}$

Хотя это работает и допускает отрицательные значения.

Как я могу гарантировать, что разрешены только положительные целые числа?

Ответы [ 13 ]

0 голосов
/ 18 апреля 2017

/ ^ \ d {4} $ / Это проверит, состоит ли строка только из 4 чисел. В этом случае для ввода года 989 ​​вместо него можно указать 0989.

0 голосов
/ 22 января 2015

Я использую это регулярное выражение в Java ^(0[1-9]|1[012])[/](0[1-9]|[12][0-9]|3[01])[/](19|[2-9][0-9])[0-9]{2}$

Работает с 1900 по 9999

0 голосов
/ 07 декабря 2010

Вы можете преобразовать ваше целое число в строку.Поскольку знак минус не будет соответствовать цифрам, у вас не будет отрицательных лет.

...