Ho bisogno il seguente controllo di una forte convalida della password:Forte password di espressione regolare che corrisponde a qualsiasi carattere speciale
- Almeno 7 caratteri
- Almeno 1 maiuscolo char (AZ)
- Almeno 1 numero (0-9)
- almeno un carattere speciale
ho trovato e ottimizzato un RegEx ed è come questo (mi dispiace, ho perso il riferimento ...):
^.*(?=.{7,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@'#.$;%^&+=!""()*,-/:<>?]).*$
sta funzionando in C#
tranne per il fatto che ho bisogno di adattarsi a qualsiasi carattere speciale, e voglio dire QUALSIASI. In altre parole, ho bisogno che il "carattere speciale" sia qualsiasi numero ma numeri e lettere maiuscole/minuscole.
Edit:
Per motivi di chiarezza, consideriamo che gli accenti sono caratteri speciali, quindi é
, ñ
e simili dovrebbero essere considerati i caratteri speciali nel contesto di questa domanda.
Personalmente non userei un'espressione regolare per questo, perché è facile da interrompere e offusca le regole effettive per la convalida. Perché preoccuparsi? Basta scrivere 4 semplici test di corrispondenza delle stringhe. – Triptych
Proverò il metodo di corrispondenza delle stringhe! – BrunoSalvino
Le tue regole limitano la scelta dei caratteri da parte dell'utente e invece di contribuire a rendere la password più sicura lo rendono meno. Perché mi costringesti a usare le lettere latine solo per la mia password? –