Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
25 / 9 / 17
Регистрация: 22.12.2015
Сообщений: 2,097

Не работает кнопка проверки логина

15.09.2017, 16:24. Показов 1767. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1 Создайте форму, в которой будет поле для ввода логина и кнопка «Проверить».
2 Создайте функцию, которая вызывается при нажатии на кнопку «Проверить» и выводящую правильность ввода логина.
Примечание: Логин должен быть от 3-х до 32-х символов, и должен содержать только буквы и цифры.
3 Создайте форму, в которой будет поле для ввода e-mail и кнопка «Отправить».

Почему в стиле css текстовые поля и кнопки шириной 200,а в браузере в разы меньше и текстовые поля в 2 раза больше кнопок?

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<!DOCTYPE html>
<html >
<head>
    <title>Регулярные выражения</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <style>
   #email{
        width:100px;
        //box-sizing: border-box;
}
   #login{
        width:100px;
        //box-sizing: border-box;
}
 
input[type="button"]{
    width:100px;  
}
input[type="submit"]{
    width:100px; 
}
</style>
</head>
<body>
    <script type="text/javascript">
    var str = "Some sting";
    alert(str.length);
        /*
        Регулярные выражения:
    // начало либо с буквы либо цифры
[A-Za-z0-9]
//далее либо с буквы либо цифрылибо спецсимвола(точка,дефис,подчеркивание)
[A-Za-z0-9\._-]
//много раз подряд буквы и цифры могут быть
*[A-Za-z0-9_]
//вплоть до знака собаки
*@
//начало доменого имени
[A-Za-z0-9]
//начало поддомена
+([A-Za-z0-9-]
//конец домена
*[A-Za-z0-9]
//вплодь до точки
*\.
//все что после точки
+[A-Za-z]
//конец строки
+$/
/i не учитываем регистр 
        
        var str = "Some sting";
        if (str.match(/r+/i)) document.write("Найдена последовательность символов r");
        else document.write("Не найдена последовательность символов r");
        */
 
 
 
 
                  /* Проверка  email */
        function checkForm(form) {
            var email = form.email.value;
            
            var m = email.match(/^[A-Za-z0-9][A-Za-z0-9\._-]*[A-Za-z0-9_]*@([A-Za-z0-9]+([A-Za-z0-9-]*[A-Za-z0-9]+)*\.)+[A-Za-z]+$/);
            if (!m) {
                alert("E-mail введён неверно");
                return false;
            }
            return true;
        }
        
        
        function checklogin(button) {
        var login =  document.getElementById('login').value);
            if(login.length < 3 ||login.length > 32 ){
            alert("login введён неверно,Он должен быть от 3 до 32 символов.");
            alert(login.length);
            } 
            var m = login.match(/^[A-Za-z0-9][A-Za-z0-9\._-]*[A-Za-z0-9_]+$/);
            if (!m) {
                alert("login введён неверно");
                return false;
            }
            return true;
        }
        
    </script>
    <form name="myform" action="https://yandex.ua" method="post" onsubmit="return checkForm(this)">
    
            E-mail:<br>
            <input type="text" name="email"/><br>
            <input type="submit" value="Отправить"/><br>
            Login: <br>
            <input type="text" name="login"/><br>
            <input type="button" value="Проверить"  onclick="return checklogin(this)"/><br>    
    </form>
</body>
</html>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.09.2017, 16:24
Ответы с готовыми решениями:

Не работает код проверки логина и пароля
#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;locale.h&gt; #include &lt;stdlib.h&gt; #include &lt;ctype.h&gt; #include &lt;cstring&gt; ...

Создание проверки логина
Вообщем составил небольшую программу с регистрацией пользователя для авторизации. Хотелось бы ещё сделать так, что бы при регистрации, если...

Правила проверки логина
Здравствуйте,помогите пожалуйста настроить код что бы он выдавал правильную рабочую функцию. elseif (strlen($_POST)&lt;4 ||...

7
25 / 9 / 17
Регистрация: 22.12.2015
Сообщений: 2,097
17.09.2017, 02:23  [ТС]
Жаль никто не знает.
0
Эксперт JSЭксперт HTML/CSS
 Аватар для mrtoxas
3827 / 2677 / 1521
Регистрация: 12.07.2015
Сообщений: 6,672
Записей в блоге: 4
17.09.2017, 09:14
В 75й строке лишняя закрывающая скобка.

JavaScript
1
var login =  document.getElementById('login').value;
CSS
1
2
3
4
5
6
#email{
        width:100px;
}
   #login{
        width:100px;
}
Где в вашей разметке элементы с id "login" и "email"?

И раскомментируйте 10ю и 14ю строки.
0
25 / 9 / 17
Регистрация: 22.12.2015
Сообщений: 2,097
17.09.2017, 12:26  [ТС]
Цитата Сообщение от mrtoxas Посмотреть сообщение
Где в вашей разметке элементы с id "login" и "email"?
И раскомментируйте 10ю и 14ю строки.
сделал.Все равно не работают кнопки.Вопрос за цсс разметку не понял.

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<!DOCTYPE html>
<html >
<head>
    <title>Регулярные выражения</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <style>
   #email{
        width:100px;
        box-sizing: border-box;
}
   #login{
        width:100px;
        box-sizing: border-box;
}
 
input[type="button"]{
    width:100px;  
}
input[type="submit"]{
    width:100px; 
}
</style>
</head>
<body>
    <script type="text/javascript">
    var str = "Some sting";
    alert(str.length);
        /*
        Регулярные выражения:
    // начало либо с буквы либо цифры
[A-Za-z0-9]
//далее либо с буквы либо цифрылибо спецсимвола(точка,дефис,подчеркивание)
[A-Za-z0-9\._-]
//много раз подряд буквы и цифры могут быть
*[A-Za-z0-9_]
//вплоть до знака собаки
*@
//начало доменого имени
[A-Za-z0-9]
//начало поддомена
+([A-Za-z0-9-]
//конец домена
*[A-Za-z0-9]
//вплодь до точки
*\.
//все что после точки
+[A-Za-z]
//конец строки
+$/
/i не учитываем регистр 
        
        var str = "Some sting";
        if (str.match(/r+/i)) document.write("Найдена последовательность символов r");
        else document.write("Не найдена последовательность символов r");
        */
        
        
        
        function checkFormpassword(form) {
            var login = form.login.value;
            var password = form.password.value;
            //alert(login);
            var bad = "";
            if (login == "") bad += "Вы не ввели логин\n";
            else if (login.length < 3) bad += "Логин слишком короткий\n";
            if (password == "") bad += "Вы не ввели пароль\n";
            else if (password.length <6) bad += "Пароль слишком простой";
            if (bad != "") {
                alert(bad);
                return false;
            }
            return true;
        }
        
        function checkFormemail(form) {
        //  var email = form.email.value;
            var email = document.getElementByName('email').value;
            var m = email.match(/^[A-Za-z0-9][A-Za-z0-9\._-]*[A-Za-z0-9_]*@([A-Za-z0-9]+([A-Za-z0-9-]*[A-Za-z0-9]+)*\.)+[A-Za-z]+$/);
            if (!m) {
                alert("E-mail введён неверно");
                return false;
            }
            alert("E-mail введён NORM");
            return true;
        }
        
     /*
        function checklogin(form) {
        var login = document.getElementByName('login').value);
            if(login.length < 3 ||login.length > 32 ){
            alert("login введён неверно,Он должен быть от 3 до 32 символов.");
            alert(login.length);
            } 
            var m = login.match(/^[A-Za-z0-9][A-Za-z0-9\._-]*[A-Za-z0-9_]+$/);
            if (!m) {
                alert("login введён неверно");
                return false;
            }
            return true;
        }
        */ 
    </script>
    <!-- 
    <form name="myform" action="https://yandex.ua" method="post"onsubmit="return checkFormemail(this)" >
    -->
    
    
    <form>
    <div>
            <label>Логин:</label>
            <input type="text" name="login" />
            <br />
            <label>Пароль:</label>
            <input type="password" name="password" />
            <br />
            <input type="button" value="Проверить"  onclick="checkFormpassword(this)"/>
            <br />
            <label>E-mail:</label>
            <br />
            <input type="text" name="email"/><br>
            <br />
            <input type="button" value="check email" onclick="checkFormemail(this)"/>
        </div>
            
            
    </form>
</body>
</html>
0
Эксперт JSЭксперт HTML/CSS
 Аватар для mrtoxas
3827 / 2677 / 1521
Регистрация: 12.07.2015
Сообщений: 6,672
Записей в блоге: 4
17.09.2017, 13:50
Если заменять неработающие куски кода неработающими кусками кода, совсем не удивительно, что ничего работать не будет.
Просто добавьте в разметку вашего первого примера нужным элементам нужные id.

По последнему коду:
1. document.getElementByName - такого не существует.
2. Вы указали при клике выполнять функцию checkFormpassword(form), а саму функцию потеряли. И вы передаете в функцию теперь кнопку, а не форму.
Дальше смысла разбирать нет.
0
25 / 9 / 17
Регистрация: 22.12.2015
Сообщений: 2,097
17.09.2017, 14:33  [ТС]
Цитата Сообщение от mrtoxas Посмотреть сообщение
Дальше смысла разбирать нет.
я только начал изучать js.Каким должен быть код.Напишите пожалуйста.

Добавлено через 5 минут
Цитата Сообщение от mrtoxas Посмотреть сообщение
2. Вы указали при клике выполнять функцию checkFormpassword(form), а саму функцию потеряли. И вы передаете в функцию теперь кнопку, а не форму.
Как правильно ее записать?

Сделал так
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<!DOCTYPE html>
<html >
<head>
    <title>Регулярные выражения</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <style>
   #email{
        width:100px;
        box-sizing: border-box;
}
   #login{
        width:100px;
        box-sizing: border-box;
}
 
input[type="button"]{
    width:100px;  
}
 
</style>
</head>
<body>
    <script type="text/javascript">
    var str = "Some sting";
    alert(str.length);
        /*
        Регулярные выражения:
    // начало либо с буквы либо цифры
[A-Za-z0-9]
//далее либо с буквы либо цифрылибо спецсимвола(точка,дефис,подчеркивание)
[A-Za-z0-9\._-]
//много раз подряд буквы и цифры могут быть
*[A-Za-z0-9_]
//вплоть до знака собаки
*@
//начало доменого имени
[A-Za-z0-9]
//начало поддомена
+([A-Za-z0-9-]
//конец домена
*[A-Za-z0-9]
//вплодь до точки
*\.
//все что после точки
+[A-Za-z]
//конец строки
+$/
/i не учитываем регистр 
        
        var str = "Some sting";
        if (str.match(/r+/i)) document.write("Найдена последовательность символов r");
        else document.write("Не найдена последовательность символов r");
        */
        
        
        
        function checkFormpassword(button) {
            var login =  document.getElementById('login').value;
            var password =  document.getElementById('password').value;
            //var password = form.password.value;
            //alert(login);
            var bad = "";
            if (login == "") bad += "Вы не ввели логин\n";
            else if (login.length < 3) bad += "Логин слишком короткий\n";
            if (password == "") bad += "Вы не ввели пароль\n";
            else if (password.length <6) bad += "Пароль слишком простой";
            if (bad != "") {
                alert(bad);
                return false;
            }
            return true;
        }
        
        
        function checkFormemail(button) {
        //  var email = form.email.value;
            var login =  document.getElementById('email').value;
            var m = email.match(/^[A-Za-z0-9][A-Za-z0-9\._-]*[A-Za-z0-9_]*@([A-Za-z0-9]+([A-Za-z0-9-]*[A-Za-z0-9]+)*\.)+[A-Za-z]+$/);
            if (!m) {
                alert("E-mail введён неверно");
                return false;
            }
            alert("E-mail введён NORM");
            return true;
        }
        
     /*
        function checklogin(form) {
        var login = document.getElementByName('login').value);
            if(login.length < 3 ||login.length > 32 ){
            alert("login введён неверно,Он должен быть от 3 до 32 символов.");
            alert(login.length);
            } 
            var m = login.match(/^[A-Za-z0-9][A-Za-z0-9\._-]*[A-Za-z0-9_]+$/);
            if (!m) {
                alert("login введён неверно");
                return false;
            }
            return true;
        }
        */ 
    </script>
    <!-- 
    <form name="myform" action="https://yandex.ua" method="post"onsubmit="return checkFormemail(this)" >
    -->
    
    
    <form>
    <div>
            <label>Логин:</label>
            <input id="a" type="text" name="login" />
            <br />
            <label>Пароль:</label>
            <input id="b" type="password" name="password" />
            <br />
            <input type="button" value="Проверить"  onclick="checkFormpassword(this)"/>
            <br />
            <label>E-mail:</label>
            <br />
            <input id="c" type="text" name="email"/><br>
            <br />
            <input type="button" value="check email" onclick="checkFormemail(this)"/>
        </div>
            
            
    </form>
</body>
</html>
0
25 / 9 / 17
Регистрация: 22.12.2015
Сообщений: 2,097
17.09.2017, 14:42  [ТС]
а вот так заработало
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<!DOCTYPE html>
<html >
<head>
    <title>Регулярные выражения</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <style>
   #email{
        width:100px;
        box-sizing: border-box;
}
   #login{
        width:100px;
        box-sizing: border-box;
}
 
input[type="button"]{
    width:100px;  
}
input[type="submit"]{
    width:100px; 
}
</style>
</head>
<body>
    <script type="text/javascript">
    var str = "Some sting";
    alert(str.length);
        /*
        Регулярные выражения:
    // начало либо с буквы либо цифры
[A-Za-z0-9]
//далее либо с буквы либо цифрылибо спецсимвола(точка,дефис,подчеркивание)
[A-Za-z0-9\._-]
//много раз подряд буквы и цифры могут быть
*[A-Za-z0-9_]
//вплоть до знака собаки
*@
//начало доменого имени
[A-Za-z0-9]
//начало поддомена
+([A-Za-z0-9-]
//конец домена
*[A-Za-z0-9]
//вплодь до точки
*\.
//все что после точки
+[A-Za-z]
//конец строки
+$/
/i не учитываем регистр 
        
        var str = "Some sting";
        if (str.match(/r+/i)) document.write("Найдена последовательность символов r");
        else document.write("Не найдена последовательность символов r");
        */
        
        
        
        function checkFormpassword(button) {
            var login =  document.getElementById('a').value;
            var password =  document.getElementById('b').value;
            //var password = form.password.value;
            //alert(login);
            var bad = "";
            if (login == "") bad += "Вы не ввели логин\n";
            else if (login.length < 3) bad += "Логин слишком короткий\n";
            if (password == "") bad += "Вы не ввели пароль\n";
            else if (password.length <6) bad += "Пароль слишком простой";
            if (bad != "") {
                alert(bad);
                return false;
            }
            return true;
        }
        
        
        function checkFormemail(button) {
        //  var email = form.email.value;
            var email =  document.getElementById('c').value;
            var m = email.match(/^[A-Za-z0-9][A-Za-z0-9\._-]*[A-Za-z0-9_]*@([A-Za-z0-9]+([A-Za-z0-9-]*[A-Za-z0-9]+)*\.)+[A-Za-z]+$/);
            if (!m) {
                alert("E-mail введён неверно");
                return false;
            }
            alert("E-mail введён NORM");
            return true;
        }
        
     /*
        function checklogin(form) {
        var login = document.getElementByName('login').value);
            if(login.length < 3 ||login.length > 32 ){
            alert("login введён неверно,Он должен быть от 3 до 32 символов.");
            alert(login.length);
            } 
            var m = login.match(/^[A-Za-z0-9][A-Za-z0-9\._-]*[A-Za-z0-9_]+$/);
            if (!m) {
                alert("login введён неверно");
                return false;
            }
            return true;
        }
        */ 
    </script>
    <!-- 
    <form name="myform" action="https://yandex.ua" method="post"onsubmit="return checkFormemail(this)" >
    -->
    
    
    <form>
    <div>
            <label>Логин:</label>
            <input id="a" type="text" name="login" />
            <br />
            <label>Пароль:</label>
            <input id="b" type="password" name="password" />
            <br />
            <input type="button" value="Проверить"  onclick="checkFormpassword(this)"/>
            <br />
            <label>E-mail:</label>
            <br />
            <input id="c" type="text" name="email"/><br>
            <br />
            <input type="button" value="check email" onclick="checkFormemail(this)"/>
        </div>
            
            
    </form>
</body>
</html>
Остается вопрос,как мне убедиться правильно ли работает/не работает функция и почему
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
function checklogin(form) {
        var login = document.getElementByName('login').value);
            if(login.length < 3 ||login.length > 32 ){
            alert("login введён неверно,Он должен быть от 3 до 32 символов.");
            alert(login.length);
            } 
            var m = login.match(/^[A-Za-z0-9][A-Za-z0-9\._-]*[A-Za-z0-9_]+$/);
            if (!m) {
                alert("login введён неверно");
                return false;
            }
            return true;
        }
Да и по цсс,все таки текстовые поля и кнопки разных размеров.
0
25 / 9 / 17
Регистрация: 22.12.2015
Сообщений: 2,097
17.09.2017, 14:48  [ТС]
вот так функция заработало.

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function checklogin(button) {
            var login =  document.getElementById('a').value;
            if(login.length < 3 ||login.length > 32 ){
            alert("login введён неверно,Он должен быть от 3 до 32 символов.");
            alert(login.length);
            } 
            var m = login.match(/^[A-Za-z0-9][A-Za-z0-9\._-]*[A-Za-z0-9_]+$/);
            if (!m) {
                alert("login введён неверно");
                return false;
            }
            alert("login введён правильно");
            return true;
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.09.2017, 14:48
Помогаю со студенческими работами здесь

Программа проверки логина и пароля
Есть программа проверки логина и пароля. Необходимо сделать так, чтобы программа предлагала пользователю вводить логин еще три раза, если...

Система проверки логина в Access
Здравствуйте! Вообще возможно ли в Access сделать доступ к базе данных разным пользователям, причем у каждого пользователя должен быть...

Программа проверки логина/пароля к сайту
Помогите написать программу, которая бы проверяла подходят ли набор логинов/паролей к определенному сайту в последовательном режиме, если...

Лишний вывод после проверки логина
Ребят, такая проблема: делаю проверку логина, когда ввожу неверный, должно выводиться сообщение о неверном логине, но на 3ю попытку...

Команды проверки правильности введенного пароля и логина
Скажите пожалуйста какие команды MySQL нужны для проверки правильности введенного пароля и логина. И выведения информации о...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru