diff --git a/public/static/js/login_out.js b/public/static/js/login_out.js new file mode 100755 index 0000000..3fd8d8b --- /dev/null +++ b/public/static/js/login_out.js @@ -0,0 +1,243 @@ +/*! + * ОКНАРДИЯ LOGIN-LOGOUT.JS + * Copyright 2015 Sergei Erjemin + * СОЗДАНО ДЛЯ ПРОЕКТА ОКНАРДИЯ + */ +let REG = 0; +function in_ntr(){ // колапсаторы для раздела ВОЙТИ + REG = 0; + $('#ili').collapse('hide'); + $('#mail').collapse('hide'); + $('#pwd1').collapse('show'); + $('#pwd2').collapse('hide'); + $('#capt').collapse('hide'); + $('#b_vost').collapse('hide'); + $('#b_reg').collapse('hide'); + $('#b_vhod').collapse('show'); + $('#pwd_comment').collapse('hide'); + $('#pwd_comment_text').text('Шесть (или более) букв (прописных и строчных) и цифр'); +} +in_ntr(); // установить колапсаторы в исходное состояние --> раздел ВОЙТИ +function in_reg(){ // колапсаторы для раздела РЕГИСТРАИЦЯ + REG = 1; + $('#ili').collapse('hide'); + $('#mail').collapse('show'); + $('#pwd1').collapse('show'); + $('#pwd2').collapse('show'); + $('#capt').collapse('hide'); + $('#b_vhod').collapse('hide'); + $('#b_vost').collapse('hide'); + $('#b_reg').collapse('show'); + $('#pwd_comment').collapse('hide'); +} +function in_vost(){ // колапсаторы для раздела ВОССТАНОВИТЬ ПАРОЛЬ + REG = 1; + $('#ili').collapse('show'); + $('#mail').collapse('show'); + $('#pwd1').collapse('hide'); + $('#pwd2').collapse('hide'); + $('#capt').collapse('show'); + $('#b_vhod').collapse('hide'); + $('#b_reg').collapse('hide'); + $('#captcha').load('/captcha'); // подгрузить GOOGLE CAPTCHA + $('#b_vost').collapse('show'); + $('#pwd_comment').collapse('hide'); +} + +$(document).ready(function(){ + //in_ntr(); // установить колапсаторы в исходное состояние --> раздел ВОЙТИ + + // ЕСЛИ ЗАПРОСИЛИ LOGIN, РЕГИСТРАЦИЮ или ВОССТАНОВЛЕНИЕ ПАРОЛЯ + $('#login-reg-restore-form').submit( + function enter(){ + $.ajax({ + url: "/form-loginout", //Адрес подгружаемой страницы + type: "POST", //Тип запроса + dataType: "html", //Тип данных + data: $("#login-reg-restore-form").serialize(), + success: function(html){ $("#login-logout").html(html)} + }); + return false; + } + ); + + // ЕСЛИ ЗАПРОСИЛИ LOGOUT + $('#logout-form').submit( + function enter(){ + $.ajax({ + url: "/form-loginout", //Адрес подгружаемой страницы + type: "POST", //Тип запроса + dataType: "html", //Тип данных + data: $("#logout-form").serialize(), + success: function(html){ $("#login-logout").html(html)} + }); + return false; + } + ); + + // ВАЛИДАЦИЯ E-MAIL + $("#email").keyup(function(){ + let pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i); + if( $(this).val() != '') + if( pattern.test( $(this).val() ) ) + $("#valid-email").css({ "color": "green" }); + else + $("#valid-email").css({ "color": "red" }); + else + $("#valid-email").css({ "color": "white" }); + }); + + // ПРОВЕРКА ДЛИННЫ ЛОГИНА + $("#username").keyup(function(){ + if( $(this).val() != '') + if( $(this).val().length >= 4 ) + $("#valid-username").css({ "color": "green" }); + else + $("#valid-username").css({ "color": "red" }); + else + $("#valid-username").css({ "color": "white" }); + }); + + + // ПРОВЕРКА КАЧЕСТВА ПАРОЛЯ + $("#password").keyup(function(){ + let ucase = new RegExp("[A-Z]+"), lcase = new RegExp("[a-z]+"), num = new RegExp("[0-9]+"); + if( $(this).val() != '' && REG == 1 ) + if( $(this).val().length >= 6 ) + if( ucase.test($(this).val()) && lcase.test($(this).val()) && num.test($(this).val()) ) { + $("#valid-password").css({ "color": "green" }); + $('#pwd_comment_text').text("Отличный пароль!"); + $("#pwd_comment").css({ "color": "green" }); + } + else if ( ucase.test($(this).val()) && lcase.test($(this).val()) ) { + $("#valid-password").css({ "color": "grey" }); + $('#pwd_comment_text').text("Хороший пароль! Не хватает цифр."); + $("#pwd_comment").css({ "color": "green" }); + } + else if ( lcase.test($(this).val()) && num.test($(this).val()) ) { + $("#valid-password").css({ "color": "grey" }); + $('#pwd_comment_text').text("Хороший пароль! Не хватает прописных букв."); + $("#pwd_comment").css({ "color": "green" }); + } + else if ( ucase.test($(this).val()) && num.test($(this).val()) ) { + $("#valid-password").css({ "color": "grey" }); + $('#pwd_comment_text').text("Хороший пароль! Не хватает строчных букв."); + $("#pwd_comment").css({ "color": "green" }); + } + else if ( ucase.test($(this).val()) ) { + $("#valid-password").css({ "color": "orange" }); + $('#pwd_comment_text').text("Слабый пароль! Не хватает цифр и строчных букв."); + $("#pwd_comment").css({ "color": "orange" }); + } + else if ( lcase.test($(this).val()) ) { + $("#valid-password").css({ "color": "orange" }); + $('#pwd_comment_text').text("Слабый пароль! Не хватает цифр и прописных букв."); + $("#pwd_comment").css({ "color": "orange" }); + } + else if ( num.test($(this).val()) ) { + $("#valid-password").css({ "color": "orange" }); + $('#pwd_comment_text').text("Слабый пароль! Не хватает букв."); + $("#pwd_comment").css({ "color": "orange" }); + } + else { + $("#valid-password").css({ "color": "grey" }); + $('#pwd_comment_text').text("Странный пароль! Вы точно сможете его замнить?"); + $("#pwd_comment").css({ "color": "grey" }); + } + else + if( ucase.test($(this).val()) && lcase.test($(this).val()) && num.test($(this).val()) ) { + $("#valid-password").css({ "color": "grey" }); + $('#pwd_comment_text').text("Хороший пароль!.. но короткий."); + $("#pwd_comment").css({ "color": "grey" }); + } + else if ( ucase.test($(this).val()) && lcase.test($(this).val()) ) { + $("#valid-password").css({ "color": "orange" }); + $('#pwd_comment_text').text("Короткий пароль!.. и нет цифр."); + $("#pwd_comment").css({ "color": "orange" }); + } + else if ( lcase.test($(this).val()) && num.test($(this).val()) ) { + $("#valid-password").css({ "color": "orange" }); + $('#pwd_comment_text').text("Короткий пароль!.. и нет прописных букв."); + $("#pwd_comment").css({ "color": "orange" }); + } + else if ( ucase.test($(this).val()) && num.test($(this).val()) ) { + $("#valid-password").css({ "color": "orange" }); + $('#pwd_comment_text').text("Короткий пароль!.. и нет строчных букв."); + $("#pwd_comment").css({ "color": "orange" }); + } + else if ( ucase.test($(this).val()) ) { + $("#valid-password").css({ "color": "red" }); + $('#pwd_comment_text').text("Короткий пароль!.. и нет строчных букв и цифр."); + $("#pwd_comment").css({ "color": "red" }); + } + else if ( lcase.test($(this).val()) ) { + $("#valid-password").css({ "color": "red" }); + $('#pwd_comment_text').text("Короткий пароль!.. и нет прописных букв и цифр."); + $("#pwd_comment").css({ "color": "red" }); + } + else if ( num.test($(this).val()) ) { + $("#valid-password").css({ "color": "red" }); + $('#pwd_comment_text').text("Короткий пароль!.. и нет букв."); + $("#pwd_comment").css({ "color": "red" }); + } + else { + $("#valid-password").css({ "color": "red" }); + $('#pwd_comment_text').text("Странныйе символы! Переключитесь на латиницу!"); + $("#pwd_comment").css({ "color": "red" }); + } + else { + $("#valid-password").css({ "color": "white" }); + $('#pwd_comment_text').text('Шесть (или более) букв (прописных и строчных) и цифр'); + $("#pwd_comment").css({ "color": "grey" }); + } + }); + + + // ПОДСВЕТИТЬ ПОДСКАЗКУ ПРИ НАБОРЕ ПАРОЛЯ + $("#password").focus(function(){ + if ( REG == 1 ) $('#pwd_comment').collapse('show'); + }); + $("#password").blur(function(){ + if ( REG == 1 ) $('#pwd_comment').collapse('hide'); + }); + + + // КНОПОЧКИ "ПОДГЛЯДИЕТЬ ПАРОЛЬ" на основном поле PASSWORD + $("#look_pwd1").mousedown(function() { + $("#password").attr('type', 'text'); + }); + $("#look_pwd1").mouseup(function() { + $("#password").attr('type', 'password'); + }); + $("#look_pwd1").mouseout(function() { + $("#password").attr('type', 'password'); + }); + + + // КНОПОЧКИ "ПОДГЛЯДИЕТЬ ПАРОЛЬ" на поле "ПОВТОРИТЬ PASSWORD" + $("#look_pwd2").mousedown(function() { + $("#password").attr('type', 'text'); + $("#password_repeat").attr('type', 'text'); + }); + $("#look_pwd2").mouseup(function() { + $("#password").attr('type', 'password'); + $("#password_repeat").attr('type', 'password'); + }); + $("#look_pwd2").mouseout(function() { + $("#password").attr('type', 'password'); + $("#password_repeat").attr('type', 'password'); + }); + + // ПРОВЕРКА КОНТРОЛЬНОГО ПАРОЛЯ + $("#password_repeat").keyup(function(){ + if( $(this).val() != '') + if( $(this).val() == $('#password').val() ) + $("#valid-password-repeat").css({ "color": "green" }); + else + $("#valid-password-repeat").css({ "color": "red" }); + else + $("#valid-password-repeat").css({ "color": "white" }); + }); + + }); +