Проверка переменной на валидность UTF-8

161
11 декабря 2018, 12:30
function getPassword() {// Возвращает валидный пароль
    global $length; // Длинная пароля
    $glength = $length;                                                                         
    $password = getRandomPassword(); // Пароль
        do {
           $password = getRandomPassword();
            $test_lentgh = iconv_strlen($password, 'UTF-8') != $glength; //Проверка пароля на длинну
        } while($test_lentgh);
    return $password;

Функция берет пароль и возвращает только те, которые соответствуют заданной длинне. Как можно в цикл запихать проверку на валидность? Требования к паролю такие: Минимум 1 Спецсимвол, и минимум 2 цифры. в пароле есть кирилица.

Answer 1

Вот реализация которая вас интересует:

function getPassword($length)
    while (true) {
        $password = getRandomPassword();
        if (iconv_strlen($password, 'UTF-8') != $length) continue;
        if (/* не удовлетворяет условию 2 */) continue;
        // если все условия выполнены, то возвращаем результат
        return password; 
    }
}

Но в целом такой подход плохой, потому как результат можно никогда так и не получить. Лучше переделать функцию getRandomPassword() так, что бы она генерировала именно то, что вам нужно

READ ALSO
Найти в тексте ссылку PHP

Найти в тексте ссылку PHP

Сама задача стоит непосредственно для виджета WordpressВ каждом артикле блога присутствуют ссылки типа "https://www

143
Как сделать выбор компании аккаунта?

Как сделать выбор компании аккаунта?

yii2-advanced, есть аккаунт, к нему нужно привязать id компании

162
Как сделать паузу в выполнении скрипта на php

Как сделать паузу в выполнении скрипта на php

У меня есть скрипт рассылающий почтуПримерно такой, здесь не суть приводить полный код , вопрос не в этом

178
jQuery post запрос отправляется лишь один раз

jQuery post запрос отправляется лишь один раз

Возникла проблемаНаписал функцию, которая отправляет пост запрос по нажатию на конопки

143