Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Validare una password

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    148

    Validare una password

    Come posso fare per controlllare che una password alfanumerica abbia almeno un carattere alfabetico minuscolo, uno maiuscolo e uno numerico????

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    codice:
    function valida(password) {
      if (password.match(/...regexp generale .../)) {
         return ((password.match(/[A-Z]/) &&
                   (password.match(/[a-z]/) &&
                   (password.match(/[0-9]/))
      }
      return false;
    }
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    148
    ma al posto di quel regexp generale cosa devo mettere? Forse intendi ad esempio la lunghezza minima della password?

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Originariamente inviato da andry85
    ma al posto di quel regexp generale cosa devo mettere? Forse intendi ad esempio la lunghezza minima della password?
    non so quali requisiti deve avere la tua password... se parliamo di sole lettere e cifre ad esempio tra 6 e 16 caratteri la regexp diventa

    codice:
    /^[\w\d]{6,16}$/i
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    148
    Mi succede una cosa strana. ecco lo script:
    codice:
    function validateForm(form)
    {
    
    if (form.username.value.length > 8 || form.username.value.length < 3) {
    alert("Username deve avere min 3 max 8 caratteri alfanumerici");
    return false;
    } 
    else if (form.password.value.length < 16 && form.password.value.length > 6) {
          return ((password.match(/[A-Z]/) && (password.match(/[a-z]/) && (password.match(/[0-9]/));
            
          }
    	  else{
    	  alert("Password deve avere min 6 max 16 caratteri alfanumerici");
    	  return false;
    	  }
    return true;
    }
    Così non mi funziona invece se metto per prova solo :

    codice:
    function validateForm(form)
    {
    
    if (form.username.value.length > 8 || form.username.value.length < 3) {
    alert("Username deve avere min 3 max 8 caratteri alfanumerici");
    return false;
    } 
    return true;
    }
    così me lo prende nel senso che se sbaglio e digito un username di 2 caratteri me lo dice. Con lo script quello di sopra completo, se metto un username di due caratteri non me lo rileva.... perchè fa così?

  6. #6
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    codice:
    function validateForm(form) {
       if (!form.username.value.match(/^[\w\d]{3,8}$/i)) {
          alert("Username deve avere min 3 max 8 caratteri alfanumerici");
          return false;
       } 
    
        if (form.password.value.match(/^[\w\d]{6,16}$/i)) {
               if ((password.match(/[A-Z]/) && 
                         (password.match(/[a-z]/) && 
                         (password.match(/[0-9]/))  {
                   return true;
               }
               else {
                   alert('Usa almeno un carattere maiuscolo, uno minuscolo e una cifra');
                   return false;
               }
        }
        else {
           alert("Password deve avere min 6 max 16 caratteri alfanumerici");
           return false;
        }
    
    }
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    148
    Continua a non andare vi posto anche il form ora

    form:
    codice:
    <form method="post"onSubmit="return validateForm(this)" action="new_c.asp" name="new" >
    UserName: <input type="test" name="username" >
    Password: <input type="password" name="password" >
    <input type="submit" name="Submit" value="Ok" >
    <input type="reset" name="Reset" value="Cancella">
    </form>
    script:
    codice:
    <script type="text/javascript">
    function validateForm(form) {
       if (!form.username.value.match(/^[\w\d]{3,8}$/i)) {
          alert("Username deve avere min 3 max 8 caratteri alfanumerici");
          return false;
       } 
    
        if (form.password.value.match(/^[\w\d]{6,16}$/i)) {
               if ((password.match(/[A-Z]/) && 
                         (password.match(/[a-z]/) && 
                         (password.match(/[0-9]/))  {
                   return true;
               }
               else {
                   alert('Usa almeno un carattere maiuscolo, uno minuscolo e una cifra');
                   return false;
               }
        }
        else {
           alert("Password deve avere min 6 max 16 caratteri alfanumerici");
           return false;
        }
    
    }
    </script>

  8. #8
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    mancavano delle parentesi....
    codice:
    <script type="text/javascript">
    function validateForm(form) {
    
       if (!form.username.value.match(/^[\w\d]{3,8}$/i)) {
          alert("Username deve avere min 3 max 8 caratteri alfanumerici");
          return false;
       }
    
        if (form.password.value.match(/^[\w\d]{6,16}$/i)) {
               if ((password.match(/[A-Z]/)) &&
                         (password.match(/[a-z]/)) &&
                         (password.match(/[0-9]/)))  {
                   return true;
               }
               else {
                   alert('Usa almeno un carattere maiuscolo, uno minuscolo e una cifra');
                   return false;
               }
        }
        else {
           alert("Password deve avere min 6 max 16 caratteri alfanumerici");
           return false;
        }
    
    }
    </script>

    correggi
    - input type="text" (e non test)
    - onsubmit in minuscolo e dagli uno spazio prima


    Ciao
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    148
    La parte relativa all'username ora funziona. Quella della password mi rileva solo se scrivo meno di 6 caratteri o piu di 16. Ma non mi controlla che ci sia un carat. minuscolo uno maiuscolo e una cifra

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    148
    Trovato l'errore

    codice:
     if ((form.password.value.match(/[A-Z]/)) && (form.password.value.match(/[a-z]/)) && (form.password.value.match(/[0-9]/)))  {
                   return true;
               }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.