Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125

    Problema con caratteri speciali in password

    Ciao a tutti.

    Questo codice javascript controlla che in un cambio password vengano rispettati i requisiti di una regular expression:

    Lunghezza da un min di 8 ad un max di 12 caratteri;
    Almeno un carattere alfanumerico;
    Almeno un carattere numerico;
    Almeno un carattere speciale tra i seguenti: !ç°§|^£!\"@$%&/()=?'`*+~#-_.,;:{[]}

    codice:
    if   (!theform.new_code1.value.match(/^[!-~£§°ç]{8,12}$/) ||
          !theform.new_code1.value.match(/[0-9]/) ||
          !theform.new_code1.value.match(/[a-z]/i) ||
          !theform.new_code1.value.match(/[!-\/:-@\[-`\{-~£§°ç]/))
               
        {
          alert("KO!");
          theform.new_code1.focus();
          theform.new_code1.select();
     
          return(false);
        }
    Il problema è che vorrei evitare che si inserisca più di un carattere speciale, ad esempio una password di questo tipo:

    "90CHIara

    Non è accettabile perchè contiene due apici, cioè due caratteri speciali.

    E poi come devo modificare questa R.E. per evitare che possano essere inseriti i seguenti caratteri speciali: apice ' e doppio apice " ?

    Sapete aiutarmi?

  2. #2
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Ai posteri...

    codice:
        if (!theform.new_code1.value.match(/^[!#-&\(-~£§°ç]{8,12}$/) ||               // Da 8 a 12 caratteri tra tutti quelli consentiti
            !theform.new_code1.value.match(/[0-9]/) ||                                // Almeno una cifra in qualsiasi posizione
            !theform.new_code1.value.match(/[a-z]/i) ||                               // Almeno una lettera (minuscola/maiuscola) in qualsiasi posizione
            !theform.new_code1.value.match(/[!#-&\(-\/:-@\[-`\{-~£§°ç]/) ||           // Almeno un carattere speciale in qualsiasi posizione
             theform.new_code1.value.match(/[!#-&\(-\/:-@\[-`\{-~£§°ç]/g).length > 1) // Un solo carattere speciale in qualsiasi posizione
        {
          alert("KO.");
          theform.new_code1.focus();
          theform.new_code1.select();
     
          return(false);
    
    }

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.