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

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

15.09.2017, 16:24. Показов 1804. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru