Intereting Posts

Использование регулярного выражения для фильтрации года фиксированной длины 0 или 4 цифры

Я хочу отфильтровать год, используя регулярное выражение в php или javascript.

которые содержат только число, а его длина равна 0 (если не вводится) или 4, если (вставить), она не принимает длину 1, 2 или 3 для ex 123.

Я знаю регулярное выражение для 0 до 4 цифр, которое составляет ^[0-9]{0,4}$ или ^\d{0,4}$

поэтому не отвечайте, как это же регулярное выражение.

Благодарю.

Related of "Использование регулярного выражения для фильтрации года фиксированной длины 0 или 4 цифры"

Попробуйте следующее:

 ^([0-9]{4})?$ 

^ – начало строки

([0-9]{4})? – четыре номера, необязательно (из-за ? )

$ – конец строки

Я знаю, что на этот вопрос уже был дан ответ, но для того, чтобы быть более ясным и в качестве альтернативного решения я бы придумал следующее:

В вашем шаблоне:

 ^[0-9]{0,4}$ 

{0,4} позволит сопоставить номера длин 0, 1, 2, 3 и 4. Чтобы устранить длину 1, 2 и 3, вы также можете использовать что-то вроде:

 ^\d{4}?$ 

Вот:

 ^ = beginning of line \d = any digit - equivalent of [0-9] {4} = exactly four times ? = makes the preceding item optional $ = end of line 

Надеюсь, поможет!

Вам не нужно использовать регулярные выражения для чего-то такого простого, как сопоставление в год:

 if (ctype_digit($year) && strlen($year) === 4) { echo 'This is a year'; } else { echo 'Not a year'; }