Обучение/Помощь новичкам | Валидация пароля
Тема закрыта by
SNEG
php
if(!filter_var($_POST['password'], FILTER_VALIDATE_REGEXP, ['options' => ['regexp' => '/^.{8,}$/']]))Русскими символами от 4 пропускает , как исправить?
Или лучше так?
php
if(mb_strlen($_POST['password'], 'UTF-8') < 8)________
посл. ред. 01.01.2024 в 01:28; всего 2 раз(а); by SNEG
как вариант
можно использовать модификатор u в регулярном выражении для поддержки UTF-8
уже поддерживает UTF-8
php
if (!filter_var($_POST['password'], FILTER_VALIDATE_REGEXP, ['options' => ['regexp' => '/^.{8,}$/u']])) {
}можно использовать модификатор u в регулярном выражении для поддержки UTF-8
php
if (mb_strlen($_POST['password'], 'UTF-8') < 8) {
}уже поддерживает UTF-8
________
посл. ред. 01.01.2024 в 02:00; всего 1 раз(а); by SNEG
ну mb_strlen сразу читает utf-8 без каких либо модификаторов. А вообще, оба варианта рабочие.
mb_strlen предназначена для работы с многобайтными строками в UTF-8. filter_var использует стандартный фильтр, что может быть удобным в дальнейшем . Но если тебе мало знаком фильтр , лучше тогда используй однострочный mb_strlen. А там решать разработчику конечно же