S
S
sprashivatel2020-03-08 05:08:56
Regular Expressions
sprashivatel, 2020-03-08 05:08:56

How to check such a match with a regular expression?

$this->login = filter_input(INPUT_POST, 'login', FILTER_VALIDATE_REGEXP, [
    'options' => [
        'regexp' => '#^[a-z]{3,15}(?:\s[a-z]{3,15})*$|^[а-яё]{3,15}(?:\s[а-яё]{3,15})*$#ui'
    ]
]);
$this->password = filter_input(INPUT_POST, 'password', FILTER_VALIDATE_REGEXP, [
    'options' => [
        'regexp' => '#^[\S]*$#'
    ]
]);

if (!$this->login) { // если логин не 3-15 или Ru или En букв с может одним пробелом между ними, то
    echo 'Вы не ввели или неправильно ввели логин';
}
if (!$this->password) { // если в пароле есть пробелы, то
    echo 'Вы не ввели или неправильно ввели пароль';
}


Is it possible to check $this->login with a regular expression to get the following
if (!$this->password) { // если в пароле есть пробелы И/ИЛИ пароль совпадает с логином, то
    echo 'Вы не ввели или неправильно ввели пароль';
}

Answer the question

In order to leave comments, you need to log in

1 answer(s)
P
Page-Audit.ru, 2020-03-08
@sprashivatel

If it's regular, then like this. I'm writing from memory, I might misspell.

if (!$this->password || preg_match( '/' . preg_qoute( $this->password, '/' ) . '/u', $this->login ) == 1) { // если в пароле есть пробелы И/ИЛИ пароль совпадает с логином, то
echo 'Вы не ввели или неправильно ввели пароль';
}

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question