A ver si alguien puede hecharme una mano con este tema, que lo tengo un poco cruzado.
Estoy intentando validar el formato del usuario y password mediante regex pero no soy capaz de conseguir exactamente lo que quiero. Esto es lo que tengo:
He consiguido mas o menos lo que queria pero tengo que hacerlo combinando varias expresiones mas o menos asi (pseudocodigo):
Código:
La pregunta es...¿es posible combinar todo esto en una sola expresión? teststring = "oqwie349" regex1 = "[\w]{4,20}" //Caracteres alfanumericos regex2 = ".*[0-9].*" // almenos un numero regex3 = ".*[A-Za-z].*" //almenos una letra regex4 = "[\W]" //caracteres no alfanumericos isValid = (regex1.isMatch(teststring) && regex2.isMatch(teststring) && regex3.isMatch(teststring) && !regex4.isMatch(teststring) )
Y hay alguna forma para que el regex4 no tenga en cuenta el espacio y el guión? Quiero usar el \w y \W obligatoriamente ya que me permite tildes, etc.