С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
adgeli0o
0 / 0 / 0
Регистрация: 20.06.2016
Сообщений: 9
1

Пароль, условием которого является количество согласных и гласных

24.06.2016, 11:53. Просмотров 352. Ответов 12
Метки нет (Все метки)

Добрый день! Помогите, пожалуйста, с созданием текстового пароля. Нужно на одной HTML-странице вывести окно ввода пароля (окно Alarm). Алгоритм проверки корректности пароля: в пароле количество гласных должно быть равно количеству согласных + 3. Буду очень благодарна за помощь, спасибо!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2016, 11:53
Ответы с готовыми решениями:

Пароль, условием которого арифметическая прогрессия с шагом 3
Скажите,пожалуйста, а как прописать пароль со следующим условием: ...

Вывести слова с одинаковым количеством гласных и согласных
помогите написать программу есть строка,в которую мы вводим слова ,вывести...

найти в строке слова с одинаковым количеством гласных и согласных
Помогите пожалуйста, Есть input в который нужно ввести текстовую строку,на...

Пароль с условием зависящим от последней буквы
Проблема моя в том, что я создаю сайт, с помощью html (практика в...

Определить количество гласных букв, количество согласных и количество цифр
Заполнить и вывести массив из латинских букв и случайных чисел. Определить...

12
BANO
Ренегат
Эксперт HTML/CSS
1716 / 1059 / 385
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
24.06.2016, 12:40 2
adgeli0o, не alert, а prompt
0
adgeli0o
0 / 0 / 0
Регистрация: 20.06.2016
Сообщений: 9
24.06.2016, 12:42  [ТС] 3
BANO, а как это можно сделать?
0
BANO
Ренегат
Эксперт HTML/CSS
1716 / 1059 / 385
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
24.06.2016, 12:45 4
adgeli0o, если вам хочется просто сразу готовый код, тогда вы нифигашеньки не получите знаний, и соответственно тот диплом, за который вы в конечном итоге боритесь, не будет иметь реальной ценности

я сейчас могу вам подсказать, что это делается в 2 replace или проходом по каждому символу, что будет конечно же быстрее
0
adgeli0o
0 / 0 / 0
Регистрация: 20.06.2016
Сообщений: 9
24.06.2016, 12:48  [ТС] 5
BANO, я написал код, но он неправильный, и выведение окна пароля не работает. вот код:
Javascript
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
function testPass(pass){
    if(!pass) return false
    var gl_list = ["и", "ы", "у", "э", "о", "а"];
    var sogl_list = ["б", "в", "г", "д", "ж", "з", "й", "к", "л", "м", "н", "п", "р", "с", "т", "ф", "х", "ц", "ч", "ш", "щ", "ь", "ъ"];
            // Расчет кол. гласных.
            function gl_amount() {
                // Счетчик кол. гласных.
                var gl_counter = 0;
                // Значение поля ввода.
                var gl_field = document.getElementById("gl_field").value;
                // Символ поля ввода.
                for(var i = 0; i < gl_field.length; i++) {
                    // Все гласные.
                    for(var v = 0; v < 6; v++) {
                        // Символ гласный?
                        if( gl_field[i] == gl_list[v] ) gl_counter++;
}
 
// Расчет кол. согласных.
            function sogl_amount() {
                // Счетчик кол. гласных.
                var sogl_counter = 0;
                // Значение поля ввода.
                var sogl_field = document.getElementById("sogl_field").value;
                // Символ поля ввода.
                for(var i = 0; i < sogl_field.length; i++) {
                    // Все гласные.
                    for(var v = 0; v < 6; v++) {
                        // Символ согласный?
                        if( sogl_field[i] == sogl_list[v] ) sogl_counter++;
}
return l == sogl_counter = gl_counter;
}
location.href = testPass(prompt("Введите пароль")) ? "st6.html" : "st.html";
0
BANO
Ренегат
Эксперт HTML/CSS
1716 / 1059 / 385
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
24.06.2016, 13:02 6
adgeli0o, ууу... у вас там откуда-то поля ещё беруться?

ладно, не хочется мне тут с вами сюсюкаться
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function testPass(pass){
    var a = "аоуыэяёюиеы",
        b = "бвгджзйклмнрпфктшсхцчщ",
        a1 = 0, b1 = 3;
    [].slice.call(pass).forEach(function(l){
        l = l.toLowerCase();
        if(a.indexOf(l) >= 0)
            a1++
        else if(b.indexOf(l) >= 0)
            b1++
//        else
//            alert("Неожиданные символы")
    });
    return a1 === b1
}
если нужны будет обработка неожиданных символов просто разкомментируйте комментарии
0
adgeli0o
0 / 0 / 0
Регистрация: 20.06.2016
Сообщений: 9
24.06.2016, 13:16  [ТС] 7
BANO, спасибо, дальше я разберусь
0
kalabuni
Нарушитель
3314 / 2625 / 629
Регистрация: 18.04.2012
Сообщений: 7,945
24.06.2016, 16:42 8
Цитата Сообщение от adgeli0o Посмотреть сообщение
Буду очень благодарна за помощь
alert ('adgeli0o, вы не прошли проверку на гендерный признак: в одном своём сообщении вы пишете о себе как о мужчине, а в другом -- как о женщине. Доступ к этой странице форума вам закрыт!');
0
BANO
Ренегат
Эксперт HTML/CSS
1716 / 1059 / 385
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
24.06.2016, 17:19 9
kalabuni, что за бред?
0
Tormentor
1 / 1 / 0
Регистрация: 05.12.2014
Сообщений: 50
25.06.2016, 15:20 10
BANO, здравствуйте, у меня такое же задание, только буквы в пароле должны быть английские. Я попытался написать код на основе вашего, но он не выводит даже окно prompt:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var psw = prompt ('Enter the password', '')
function testPass(pass){
    var a = "aeiouy",
        b = "bcdfghjklmnpqrstvwxz",
        a1 = 3, b1 = 0;
    [].slice(psw).forEach(function(l){
        l = l.toLowerCase();
        if(a.indexOf(l) >= 0)
            a1++;
        else if(b.indexOf(l) >= 0)
            b1++;
        alert('ACCESS GRANTED');
        else
            alert("Неожиданные символы")
    });
    return a1 === b1
}
Я хочу понять, как это сделать, но знаний не хватает, всего третий день Javascript изучаю, до практики не сталкивался с ним никогда. Помогите, пожалуйста!
0
kalabuni
Нарушитель
3314 / 2625 / 629
Регистрация: 18.04.2012
Сообщений: 7,945
25.06.2016, 17:16 11
Tormentor, плохо у вас с английским: буква Y -- она согласная

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var psw = prompt ('Enter the password', '').toLowerCase ();
var vow = 'aeiou',
    cons = "bcdfghjklmnpqrstvwxyz",
    nV = 3,
    nC = 0,
    oE = true // only English letters
  for (var j = 0, J = psw.length; j < J; j++) {
    if (vow.indexOf (psw.charAt (j) != -1) 
        nV++;
    else if (cons.indexOf (psw.charAt (j))!= -1) 
        nC++;
    else
        oE = false;
    else if (oE && nV == nC)
        alert('access granted');
    else 
        alert ('access denied');
1
BANO
Ренегат
Эксперт HTML/CSS
1716 / 1059 / 385
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
25.06.2016, 18:29 12
kalabuni, у вас код невалидный) даже после того, как я его постарался привести к более читабельному виду...

Не по теме:

чтобы вы сейчас не начали говорить, что я всё сломал, я скажу, что заменил только один значащий символ (') на ", а дальше просто отступы поставил, как их бы поставил jsfiddle)

0
kalabuni
Нарушитель
3314 / 2625 / 629
Регистрация: 18.04.2012
Сообщений: 7,945
26.06.2016, 21:15 13
хмм... согласен, надо ещё учесть и отказ юзера вводить пароль
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var psw = prompt ('Enter the password', '');
var oE = (typeof (psw) == 'string' && !!psw.length); // string of English letters only
if (oE) {
    psw = psw.toLowerCase ();
    var Vow = 'aeiou',
        Con = 'bcdfghjklmnpqrstvwxyz', 
        numV = 3,
        numC = 0;
 
    for (var j = 0, J = psw.length; j < J; j++) {
        if (Vow.indexOf (psw.charAt (j)) != -1) numV++;
        else if (Con.indexOf (psw.charAt (j)) != -1) numC++;
        else oE = false;
        }
    }
if (oE && numV == numC) alert ('ACCESS GRANTED');
else                    alert ('ACCESS DENIED' );
проверяем
0
26.06.2016, 21:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2016, 21:15

Определить количество гласных букв, количество согласных и количество цифр
Заполнить и вывести массив из латинских букв и случайных чисел. Определить...

В строке посчитать количество гласных и согласных и записать из количество в конце строки
В строке посчитать количество гласных и согласных и записать из количество в...

Подсчитать количество слов, содержащих одинаковое количество гласных и согласных
1. С клавиатуры вводиться текст. Составить программу,которая подсчитывает...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru