Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Web > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 12.10.2018, 23:53   #1
user12102018
 
Регистрация: 12.10.2018
Сообщений: 4
Репутация: 10
По умолчанию Помогите пожалуйста переделать код в ООП

Помогите пожалуйста переделать данный код в ООП. Начал только учить js, к тому ООП почти не изучал, а тут такая задача

Код:

<script>
    price = 0;
    rand = 1;
    cof = 0;
    color = ["Фамилия:", "", "Имя:", "", "Отчество:", "", "Email:", "", "Пароль:", "", "Цвет: ','  , "Оттенок:", "", "Группа товаров:", "", "Бренд:", "", "Value:", "", "Коф.Цвет", "", "Цена", " "];
    surname.onblur = function() {
        var surname_ = document.getElementById('surname').value[0];
        var isUpperCase = surname_.toUpperCase()===surname_;
        if(!!isUpperCase === false){
            document.getElementById('surname').placeholder = 'Ошибка';
            surname.focus();
        }
        else {
            color[1] = document.getElementById('surname').value + '\n';
            var str = color.join(' ');
            document.getElementById('text').value = str;
        }
    };

    surname.onfocus = function() {
        document.getElementById('surname').value = '';
    };

    lastname.onblur = function() {
        var surname_ = document.getElementById('lastname').value[0];
        var isUpperCase = surname_.toUpperCase()===surname_;
        if(!!isUpperCase === false){
            document.getElementById('lastname').placeholder = 'Ошибка';
            lastname.focus();
        }

        else {
            color[3] =document.getElementById('lastname').value + '\n';
            var str = color.join(' ');
            document.getElementById('text').value = str;
        }
    };

    lastname.onfocus = function() {
        document.getElementById('lastname').value = '';
    };


    fathername.onblur = function() {
        var surname_ = document.getElementById('fathername').value[0];
        var isUpperCase = surname_.toUpperCase()===surname_;
        if(!!isUpperCase === false){
            document.getElementById('fathername').placeholder = 'Ошибка';
            fathername.focus();
        }
        else {
            color[5] = document.getElementById('fathername').value + '\n';
            var str = color.join(' ');
            document.getElementById('text').value = str;
        }
    };

    fathername.onfocus = function() {
        document.getElementById('fathername').value = '';
    };


    email.onblur = function validate() {
        var reg = /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
        var address = document.getElementById("email").value;
        if(reg.test(address) === false) {
            document.getElementById('email').placeholder = 'Введите корректный e-mail';
            document.getElementById("email").focus();
        }
        else {
            color[7] = document.getElementById('email').value + '\n';
            var str = color.join(' ');
            document.getElementById('text').value = str;
        }

    };

    email.onfocus = function() {
        document.getElementById('email').value = '';
    };


    pass.onblur = function() {
        var textPass = document.getElementById("pass").value;

        var r = /[^A-Z-a-z-0-9]/g;
        if (r.test(textPass)) {
            document.getElementById('pass').placeholder = " Введено недопустимые символы. Разрешены латинские буквы и цифры";
            pass.focus();
        }
        if (textPass.length < 8) {
            document.getElementById('pass').placeholder = " Слишком короткий пароль";
            pass.focus();
        }
        if (textPass.length > 20) {
            document.getElementById('pass').placeholder = "Слишком длинный пароль";
            pass.focus();
        }
        else {
            color[9] = document.getElementById('pass').value + '\n';
            var str = color.join(' ');
            document.getElementById('text').value = str;
        }
    };

    pass.onfocus = function() {
        document.getElementById('pass').value = '';
    };

    mas = [[ "Сине-черный", "Сине-желтый", "Сине-красный», [0.3]], [ "Черноно-желтый", "Красно-зеленый", "Красно-черный", [0.05]], [ " желто-белый "," желто-голубой "," желто-черный "], [0.9]];
    var buttons = document.getElementsByName("radio1");
    length_m = mas.length;

    function setColor(event) {
        var options = document.getElementsByName("radio1");
        var options2 = document.getElementsByName("radio2");

        if (options) {
            for (var i = 0; i < options.length; i++) {
                if (options[i].checked){
                    o = options[i].value;
                    document.getElementById('lb1').innerHTML= mas[i][0];
                    document.getElementById('lb2').innerHTML= mas[i][1];
                    document.getElementById('lb3').innerHTML= mas[i][2];
                    options2[0].value = mas[i][0];
                    options2[1].value = mas[i][1];
                    options2[2].value = mas[i][2];
                    k = i;
                }
            }
        }


        color[11] = event.target.value+ '\n';
        var str = color.join(' ');
        document.getElementById('text').value = str;
        cof = parseFloat(mas[k][3]);
        color[21] = mas[k][3] +'\n';

    }
    for (var i = 0; i < buttons.length; i++)
        buttons[i].addEventListener("change", setColor);

    var buttons2 = document.getElementsByName("radio2");
    function setColor2(event) {
        color[13] = event.target.value.split(',')+'\n';
        var str = color.join(' ');
        document.getElementById('text').value = str;
    }
    for (var i = 0; i < buttons.length; i++)
        buttons2[i].addEventListener("change", setColor2);

    function run1() {
        color[15] = document.getElementById("select1").value+ '\n';
        var str = color.join(' ');
        document.getElementById('text').value = str;

    }

    function run2() {
        color[17] = document.getElementById("select2").value.split('.')[0]+ '\n';
        var str = color.join(' ');
        document.getElementById('text').value = str;
        price = document.getElementById("select2").value.split('.');
        color[23] = (parseInt(price[1])*rand)*cof;
    }


    (function() {
        var ros = document.getElementById('select1'),
            mir = document.getElementById('select2');
        ros.onchange = function(){ mir.selectedIndex = this.selectedIndex;
        var index = this.selectedIndex;
        if(index === 1){
            mir[mir.length] = new Option('Acer','Nokia','SDD');
        }
        if(index === 2){
                mir[mir.length] = new Option('Acer313','3113Nokia','41312SDD');
            }

        };


    })();

    function checks() {
        var cbx = document.getElementById("flags").getElementsByTagName("input"), mas = [];
        for (i=0; i < cbx.length; i++) {
            if (cbx[i].type === "checkbox" && cbx[i].checked) {
                mas.push(cbx[i].value);
            }
        }
        color[19] = mas + '\n';
        var str = color.join(' ');
        document.getElementById('text').value = str;
    };

    function random() {
        rand = 2 + Math.random() * (5 + 1 - 2);
        rand = Math.floor(rand);
    };



</script>

user12102018 вне форума   Ответить с цитированием
Старый 13.10.2018, 21:31   #2
Naive
Раздолбайских Дел
Профессионал
 
Аватар для Naive
 
Регистрация: 22.05.2009
Адрес: Екатеринбург
Сообщений: 3,694
Репутация: 2205
По умолчанию

Зачем?
ООП — штука хорошая, интересная, вкусная. Но это не серебряная пуля. Если ты не знаешь зачем оно нужно тебе, то не надо на нем писать.

п.с. в четвертой строке, после "цвет" у тебя какая-то странная дичь начинается.
__________________
Работаю. В этот раз за деньги.
Жду ваши искренние спасибы на яндекс-кошелек: 410011068154587
Naive вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите переделать код под мое условие пожалуйста Desheg Помощь студентам 1 21.05.2018 20:56
помогите пожалуйста с тестом по ооп!! sandrapack Помощь студентам 1 09.04.2018 16:47
Ребят пожалуйста помогите переделать код из си в паскаль Makson Паскаль 2 26.11.2014 22:37
Помогите пожалуйста с ООП в с++ alien1 Помощь студентам 0 09.04.2014 01:06
Помогите, пожалуйста решить задачу по ООП M_Yuri Помощь студентам 2 10.02.2008 21:12


00:42.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru