Привет всем. такой вопрос по регуляркам. Почему выражение не проверяет то что строка меньше 4 символов и больше 20?
preg_match('/^[0-9][a-zA-Z0-9-_\.]{4,20}$/', $login)
preg_match('/[^\dA-Za-z]{4,20}$/', $pass)
И вообще правильно ли регулярка составлена?
# ПеревозЧЕГ (09.06.2016 / 20:56)
Привет всем. такой вопрос по регуляркам. Почему выражение не проверяет то что строка меньше 4 символов и больше 20?
preg_match('/^[0-9][a-zA-Z0-9-_\.]{4,20}$/', $login)
preg_match('/[^\dA-Za-z]{4,
Возможно искомый текст не подпадает под этот шаблон. Если тебе надо проверять по длинне символов, то заюзай strlen()
ДоХтор, в данном случае я проверяю логин и пароль чтобы они помимо разрешенных символов еще и длину имели соответствующую. хотел сразу регуляркой пробить
if(preg_match('/[^\dA-Za-z]{4,20}$/', $pass)){
$error['pass'][] = 'Пароль должен содержать не менее 4 и не более 20 символов';
}
ПеревозЧЕГ, а зачем вначале [0-9]?
# Sitego (09.06.2016 / 21:26)
ПеревозЧЕГ, а зачем вначале [0-9]?
логин с цифр не должен начинаться
Sitego, это порядок цифр от 0 до 9
# ПеревозЧЕГ (09.06.2016 / 21:29)
логин с цифр не должен начинаться
Так оно и не будет работать.
Этим выражением [0-9][a-zA-Z0-9-_\.]{4,20} ты указываешь шаблон, что вначале строки идёт одна цифра от 0 до 9, а за ней буквы малого и большого регистра, или цифры, с точкой, минусом, нижним подчёркиванием, количеством от 4 до 20.
ПеревозЧЕГ, если тебе надо в шаблоне указать, что строка не должна начинаться с цифры, то это будет так ^\D