Validarea parolei Javascript (Programare, Javascript, Validare, Parole)

Steve Aylward a intrebat.
a intrebat.

Poate cineva să sugereze o validare ușoară a parolei folosind javascript. Am nevoie ca aceasta să aibă cel puțin 4 caractere și să conțină minim 1 literă și 1 număr.

Acesta este un proiect școlar, așa că este într-adevăr doar o validare simplă necesară pentru a mă asigura că introduc caracterele necesare.

Eu folosesc

<textarea id="special_info" name="address" onfocus="this.value=''" rows="5" cols="40" >Please enter your address...
            </textarea>
            <div id="maxcar">(Maximum characters: 200)
            </div>

Javascript-ul meu este în acest format

function validate_form(){

valid=true;

var letters=/^[a-zA-Z]+$/;
var numbers=/^[0-9]+$/;
var email=document.order_form.user_email.value;
var invalid = [];

if (document.order_form.first_name.value.search(letters)==-1){
invalid.push("*First Name")
}   

if (document.order_form.surname.value.search(letters)==-1){
invalid.push("*Surname Name")
}

if (email.indexOf("@")<1 || email.lastIndexOf(".")<email.indexOf("@")+2 
|| email.lastIndexOf(".")+2>=email.length){
invalid.push("*Email")
}

if (invalid.length != 0)
{alert("Please provide response: 
" + invalid.join("
") ); 
    valid = false;
    invalid = [];}


return valid;}

Comentarii

  • Care este întrebarea? Cu ce problemă vă confruntați? Unde aveți probleme? –  > Por Uooo.
  • lol Ei bine, chiar nu sunt sigur cum să o scriu folosind același format folosit mai sus. Știu că ar trebui să fie destul de simplu, dar sunt foarte confuz! –  > Por Steve Aylward.
2 răspunsuri
allonhadaya

Încercați acest lucru:

// returns true if the form was valid; false otherwise.

function validateForm() {

    var allLetters = /^[a-zA-Z]+$/;
    var letter = /[a-zA-Z]/;
    var number = /[0-9]/;

    var firstName = document.order_form.first_name.value;
    var surname = document.order_form.surname.value;
    var email = document.order_form.user_email.value;
    var password = document.order_form.password.value;

    var invalid = [];

    if (!allLetters.test(firstName)) {
        invalid.push("*First Name");
    }

    if (!allLetters.test(surname)) {
        invalid.push("*Surname Name");
    }

    if (email.indexOf("@") < 1 || email.lastIndexOf(".") < email.indexOf("@") + 2 || email.lastIndexOf(".") + 2 >= email.length) {
        invalid.push("*Email");
    }

    if (password.length < 4 || !letter.test(password) || !number.test(password)) {
        invalid.push("*Password");
    }

    if (invalid.length != 0) {
        alert("Please provide response: 
" + invalid.join("
"));
        return false;
    }

    return true;
}

Citiți-o bine, rulați-o și puneți întrebări dacă ceva nu este clar.

Observați utilizarea de RegExp.test în loc de String.search.

RobG

Puteți utiliza o expresie regulată și verifica lungimea. Expresia regulată este o verificare insensibilă la majuscule și minuscule pentru o literă și un număr în orice ordine. Lungimea trebuie să fie mai mare de 3.

function testString(s) {
  var re = /[a-z]d|d[a-z]/i;
  return re.test(s) && s.length > 3;
}