Foros del Web » Programando para Internet » Javascript »

Expresion regular

Estas en el tema de Expresion regular en el foro de Javascript en Foros del Web. Hola a tod@s, estoy intentando validar la contraseña de un formulario de manera que tenga 6 o más caracteres, que tenga al menos una letra ...
  #1 (permalink)  
Antiguo 14/11/2013, 10:54
 
Fecha de Ingreso: enero-2009
Mensajes: 28
Antigüedad: 15 años, 3 meses
Puntos: 0
Expresion regular

Hola a tod@s, estoy intentando validar la contraseña de un formulario de manera que tenga 6 o más caracteres, que tenga al menos una letra y al menos un numero, como estoy empezando con este tema, y por lo que he visto, creo que sería correcto lo siguiente:

Código:
var expresion = /^([a-zA-Z]{1,}[0-9]{1,}){6,}$/;
o también:

Código:
var expresion = /^(\d+\w+){6,}$/
entre parentesis las agrupo y le digo al final que de ese grupo por lo menos 6 o
más, pero no me funcionan, supongo que estoy equivocándome en algo, ¿que puede ser?

Gracias y un saludo.
  #2 (permalink)  
Antiguo 14/11/2013, 11:27
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: Expresion regular

Si te cuesta programar patrones complejos, lo más fácil es hacer varios patrones independientes y ejecutar todos. Por ejemplo, para este caso serían 3: que la cadena tenga al menos 6 caracteres, que la cadena empiece por letras y tenga al menos un número, y por último que la cadena comience por números y tenga al menos una letra.

Con el tiempo y con práctica, podrás hacerlos con patrones complejos:
Código Javascript:
Ver original
  1. /^(?=.*\d)(?=.*[a-z]).{6,}$/i
http://jsfiddle.net/4L2RM/
  #3 (permalink)  
Antiguo 14/11/2013, 11:37
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Expresion regular

\w contiene todos los números como hace \d, y además caracteres lingüísticos, por lo tanto lo correcto sería:

Código:
/^[\w]{6,}$/
  #4 (permalink)  
Antiguo 14/11/2013, 11:44
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: Expresion regular

Cita:
Iniciado por fransoni Ver Mensaje
que tenga 6 o más caracteres, que tenga al menos una letra y al menos un numero,
Suerte la próxima vez, PHPeros.


Por cierto, poner corchetes cuando sólo tienes \w dentro, no sirve de nada. Mira tú por donde, incluso vas a aprender algo sobre el uso de patrones regulares básicos.
  #5 (permalink)  
Antiguo 14/11/2013, 12:13
 
Fecha de Ingreso: enero-2009
Mensajes: 28
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Expresion regular

Gracias por las respuestas, con la tuya marlanga funciona en un principio correctamente, intentaré analizar el código para ver si me aclaro poco a poco.

Un saludo.
  #6 (permalink)  
Antiguo 14/11/2013, 12:23
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: Expresion regular

Encontrar buenos tutoriales de expresiones regulares avanzadas en español es muy difícil; los mejores están en inglés.
Ese patrón que te puse usa aserciones del tipo "LookAhead"; te garantizo que necesitarás buscar tutoriales sobre su uso. Con solo ver este código me temo que no te baste.

Etiquetas: expresion, formulario, funcion, regular
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:40.