Tengo un control de validación que tiene la siguiente expresión:ASP.NET Validador de expresiones regulares (Fortaleza de la contraseña)
(?=(.*\\d.*){2,})(?=(.*\\w.*){2,})(?=(.*\\W.*){1,}).{8,}
Eso es una contraseña con al menos 2 dígitos , 2 caracteres alfabéticos, 1 no alfanumérico y mínimo de 8 caracteres. Lamentablemente, esto no parece ser compatible con varios navegadores.
Esta validación funciona perfectamente en Firefox, pero no en Internet Explorer.
Una combinación de cada uno de los resultados de respuestas de:
var format = "^(?=.{" + minLength + ",})" +
(minAlpha > 0 ? "(?=(.*[A-Za-z].*){" + minAlpha + ",})" : "") +
(minNum > 0 ? "(?=(.*[0-9].*){" + minNum + ",})" : "") +
(minNonAlpha > 0 ? "(?=(.*\\W.*){" + minNonAlpha + ",})" : "") + ".*$";
EX: "^(?=.{x,})(?=(.*[A-Za-z].*){y,})(?=(.*[0-9].*){z,})(?=(.*\W.*){a,}).*$"
El dato importante es tener la longitud de la primera ({x,}?.).
Sí, vi eso justo antes de publicar, probé y funcionó: D – nyxtom