Регулярное выражение для числа с длиной 4, 5 или 6
Мне нужно регулярное выражение, которое проверяет число с длиной 4, 5, 6
Я использовал ^ [0-9] {4} для проверки на число из 4, но я не знаю, как включить проверку для 5 и 6.
Ответ 1
Попробуйте следующее:
^[0-9]{4,6}$
{4,6}= от 4 до 6 символов включительно.
Ответ 2
Имейте в виду, что, как написано, решение Peter "примет" 0000. Если вы хотите проверить числа между 1000 и 999999, то это еще одна проблема: -)
^[1-9][0-9]{3,5}$
например, заблокирует вставку 0 в начале строки.
Если вы хотите принять 0 padding, но только до lengh из 6, так что 001000 действителен, тогда он становится более сложным. Если мы используем look-ahead, мы можем написать что-то вроде
^(?=[0-9]{4,6}$)0*[1-9][0-9]{3,}$
Это сначала проверяет, длинна ли строка 4-6 (?=[0-9]{4,6}$), затем пропускает 0s 0* и ищет ненулевое [1-9], за которым следует как минимум 3 цифры [0-9]{3,}.
Ответ 3
[0-9]{4,6} можно сократить до \d{4,6}
Ответ 4
Если используемый вами язык принимает {}, вы можете использовать [0-9]{4,6}.
Если нет, вам нужно использовать [0-9][0-9][0-9][0-9][0-9]?[0-9]?.