102 lines
3.6 KiB
JavaScript
102 lines
3.6 KiB
JavaScript
document.addEventListener("DOMContentLoaded", () => {
|
|
zad4SprawdzParzystosc();
|
|
zad6Sprawdz();
|
|
zad7Przesun();
|
|
zad8Przelicz();
|
|
})
|
|
|
|
function zad4SprawdzParzystosc() {
|
|
document.getElementById("zad4-wynik").innerText = document.getElementById("zad4-liczba").valueAsNumber % 2 == 1 ? "Nieparzysta" : "Parzysta";
|
|
}
|
|
|
|
function zad6Sprawdz() {
|
|
document.getElementById("zad6-wynik").innerText = () => {
|
|
switch (nr = document.getElementById("zad4-liczba").valueAsNumber) {
|
|
case (nr > 0):
|
|
return "Dodatnia"
|
|
case 0:
|
|
return "Zero"
|
|
case (nr < 0):
|
|
return "Ujemna"
|
|
}
|
|
}
|
|
}
|
|
|
|
function zad7Przesun() {
|
|
const wiek = Number(document.getElementById("zad7-slider").value);
|
|
document.getElementById("zad7-wiek").innerHTML = "Wiek: " + (wiek >= 18 ? "18+" : wiek);
|
|
}
|
|
|
|
function zad7Koniec() {
|
|
const wiek = Number(document.getElementById("zad7-slider").value);
|
|
if (wiek > 18) {
|
|
alert("Jesteś dorosły, ile wspólnych lat masz już na karku?");
|
|
} else if (wiek >= 11 && wiek < 17) {
|
|
alert("Jesteś nastolatkiem, dopiero zaczynasz czy już kolejny raz?");
|
|
} else if (wiek < 11) {
|
|
alert("Jesteś dzieckiem! Akysz, nie niszcz sobie życia");
|
|
}
|
|
document.getElementById('aktywne').id = 'nieaktywne';
|
|
}
|
|
|
|
|
|
function regexDlugosc(str, patern) {
|
|
const wynik = str.match(patern);
|
|
if (wynik == null) {
|
|
return 0;
|
|
}
|
|
return wynik.length;
|
|
}
|
|
|
|
function zad8Przelicz() {
|
|
/**
|
|
* @type {string}
|
|
*/
|
|
const haslo = document.getElementById("zad8-haslo").value ?? "";
|
|
const lista = document.getElementById("zad8-lista");
|
|
const sila = document.getElementById("zad8-sila");
|
|
|
|
lista.innerHTML = "";
|
|
|
|
let maleLitery = regexDlugosc(haslo, /[a-z]/g);
|
|
let duzeLitery = regexDlugosc(haslo, /[A-Z]/g);
|
|
let cyfry = regexDlugosc(haslo, /[0-9]/g);
|
|
let znakiSpecialne = regexDlugosc(haslo, /[!-/]|[;-@]|[\[-`]|[{-~]|ą|ę|ś|ż|ź|ó/g);
|
|
|
|
if (maleLitery + duzeLitery + cyfry + znakiSpecialne < 8) {
|
|
const element = document.createElement("li");
|
|
element.appendChild(document.createTextNode("Twoje hasło musi zawierać minimum 8 znaków"));
|
|
lista.appendChild(element);
|
|
} else if (maleLitery >= 1 && duzeLitery >= 1 && cyfry >= 1 && znakiSpecialne >= 1) {
|
|
lista.append(document.createTextNode("Twoje hasło jest wystarczająco silne 💪"));
|
|
}
|
|
if (maleLitery < 1) {
|
|
const element = document.createElement("li");
|
|
element.appendChild(document.createTextNode("Twoje hasło musi zawierać minimum jedną małą litere"));
|
|
lista.appendChild(element);
|
|
}
|
|
if (duzeLitery < 1) {
|
|
const element = document.createElement("li");
|
|
element.appendChild(document.createTextNode("Twoje hasło musi zawierać minimum jedną dużą litere"));
|
|
lista.appendChild(element);
|
|
}
|
|
if (cyfry < 1) {
|
|
const element = document.createElement("li");
|
|
element.appendChild(document.createTextNode("Twoje hasło musi zawierać minimum jedną cyfre"));
|
|
lista.appendChild(element);
|
|
}
|
|
if (znakiSpecialne < 1) {
|
|
const element = document.createElement("li");
|
|
element.appendChild(document.createTextNode("Twoje hasło musi zawierać minimum jeden znak specjalny"));
|
|
lista.appendChild(element);
|
|
}
|
|
|
|
let algorytm = Math.floor(Math.ceil(maleLitery / 3.5) + Math.ceil(duzeLitery / 2.5) + Math.ceil(cyfry / 0.75) + znakiSpecialne * 2);
|
|
if (algorytm > 10) {
|
|
algorytm = 10;
|
|
}
|
|
sila.innerText = "";
|
|
for (let i = 0; i < algorytm; i++) {
|
|
sila.innerText += "🏋️";
|
|
}
|
|
} |