• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Проверка сложности пароля

Lomanu4 Оффлайн

Lomanu4

Команда форума
Администратор
Сообщения
1,162
Симпатии
222
Баллы
155
VK
На многих сайтах при регистрации есть проверка сложности пароля. Есть много различных вариантов проверки того, насколько пароль сложен, и один из вариантов проверки сложности пароля на JavaScript я покажу в этой статье.
Для начала создадим простую HTML-форму:
Код:
PHP:
<form name="my_form" method="post" action="#" onsubmit="return checkPassword(this);">
<p>
Пароль: <input type="password" name="password" />
</p>
<p>
<input type="submit" name="check" value="Отправить" />
</p>
</form>
И теперь код функции checkPassword():
Код:
<script type="text/javascript">
function checkPassword(form) {
var password = form.password.value; // Получаем пароль из формы
var s_letters = "qwertyuiopasdfghjklzxcvbnm"; // Буквы в нижнем регистре
var b_letters = "QWERTYUIOPLKJHGFDSAZXCVBNM"; // Буквы в верхнем регистре
var digits = "0123456789"; // Цифры
var specials = "!@#$%^&*()_-+=\|/.,:;[]{}"; // Спецсимволы
var is_s = false; // Есть ли в пароле буквы в нижнем регистре
var is_b = false; // Есть ли в пароле буквы в верхнем регистре
var is_d = false; // Есть ли в пароле цифры
var is_sp = false; // Есть ли в пароле спецсимволы
for (var i = 0; i < password.length; i+:-) {
/* Проверяем каждый символ пароля на принадлежность к тому или иному типу */
if (!is_s && s_letters.indexOf(password) != -1) is_s = true;
else if (!is_b && b_letters.indexOf(password) != -1) is_b = true;
else if (!is_d && digits.indexOf(password) != -1) is_d = true;
else if (!is_sp && specials.indexOf(password) != -1) is_sp = true;
}
var rating = 0;
var text = "";
if (is_s) rating++; // Если в пароле есть символы в нижнем регистре, то увеличиваем рейтинг сложности
if (is_b) rating++; // Если в пароле есть символы в верхнем регистре, то увеличиваем рейтинг сложности
if (is_d) rating++; // Если в пароле есть цифры, то увеличиваем рейтинг сложности
if (is_sp) rating++; // Если в пароле есть спецсимволы, то увеличиваем рейтинг сложности
/* Далее идёт анализ длины пароля и полученного рейтинга, и на основании этого готовится текстовое описание сложности пароля */
if (password.length < 6 && rating < 3) text = "Простой";
else if (password.length < 6 && rating >= 3) text = "Средний";
else if (password.length >= 8 && rating < 3) text = "Средний";
else if (password.length >= 8 && rating >= 3) text = "Сложный";
else if (password.length >= 6 && rating == 1) text = "Простой";
else if (password.length >= 6 && rating > 1 && rating < 4) text = "Средний";
else if (password.length >= 6 && rating == 4) text = "Сложный";
alert(text); // Выводим итоговую сложность пароля
return false; // Форму не отправляем
}
</script>
Функция, хоть и не очень маленькая, но её суть крайне простая. В первую очередь, мы проверяем наличие различных символов в пароле. Чем больше разных типов символов, тем лучше. Затем, анализируя длину и полученный рейтинг, можно уже выводить ту или иную сложность пароля.
Безусловно, вариантов проверки сложности пароля на JavaScript очень много, и один из них Вы теперь знаете, как реализовать.
А если хотите сами научиться создавать подобные скрипты и даже гораздо сложнее, то Вам нужно изучить JavaScript.
 
Вверх Снизу