summaryrefslogtreecommitdiff
path: root/Static/Js/register.js
blob: c751b77a265f3acffcc9f88a7e6e70b8180ba0b0 (plain)
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

// ############################################################################
// #                                                                          #
// # Description: JS de la partie inscription                                 #
// #                                                                          #
// ############################################################################ 

// Regex pour vérifier la validité du mdp
const numb    = new RegExp(/[0-9]/)
const upper   = new RegExp(/[A-Z]/)
const special = new RegExp(/[`!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~µ°€£]/)

function is_valid(condition, element) {
    // Si la regex est bonne on selectionne la class css pour l'afficher
    if (condition) {
        document.getElementById(element).classList.remove("invalid");
        document.getElementById(element).classList.add("valid");
        return true;
    } else {
        document.getElementById(element).classList.remove("valid");
        document.getElementById(element).classList.add("invalid");
        return false;
    }
}

function check_pass() {
    // On récupère les éléments dans la page et on test nos regex sur le mdp
    let pass         = document.getElementById("password").value;
    let submitButton = document.getElementById("submit");
    let validNumb    = is_valid(numb.test(pass), "passNumb");
    let validUpper   = is_valid(upper.test(pass), "passUpper");
    let validSpecial = is_valid(special.test(pass), "passSpecial");
    let validLength  = is_valid((pass.length >= 8), "passLength");

    // Si tout est validé on active le button sumbit
    if (validLength && validUpper && validNumb && validSpecial) {
        submitButton.classList.remove("deactivate");
        submitButton.disabled = false;
    } else {
        submitButton.classList.add("deactivate");
        submitButton.disabled = true;
    }
}