@ в PHP регулярные выражения - PullRequest
0 голосов
/ 02 января 2019

Я нашел этот скрипт для проверки пароля, но я не знаю, почему внутри шаблонов "@". Можете ли вы объяснить мне это? Спасибо

                $uppercase = preg_match('@[A-Z]@', $_POST['password']);
            $lowercase = preg_match('@[a-z]@', $_POST['password']);
            $number = preg_match('@[0-9]@', $_POST['password']);

            if (!$uppercase || !$lowercase || !$number || strlen($_POST['password']) < 8)
            {
                $message .= "Password must contains lowercase letter, uppercase letter, digit and minimal length is 8 characters. <br/>";
            }

1 Ответ

0 голосов
/ 02 января 2019

Во многих библиотеках регулярных выражений «разделитель» на самом деле полностью зависит от программиста и является абсолютно произвольным.По сути, каким бы ни был первый символ в шаблоне, это разделитель, и когда он появляется снова (без экранирования), шаблон считается завершенным (необязательно, с некоторыми флагами после закрывающего разделителя).

Вы можете считать еговопрос стиля / вкуса программиста, или, может быть, они привыкли к проекту, в котором шаблонам нужно / в шаблоне, и они не хотят избегать их все время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...