Foros del Web » Programando para Internet » Javascript »

Duda sobre expresiones regulares

Estas en el tema de Duda sobre expresiones regulares en el foro de Javascript en Foros del Web. Ya está solucionado. ¿Cómo lo solucioné? Sencillo: El método match retorna la cadena coincidente. Simplemente haciendo un length: cadena.length me devuelve la longitud de la ...
  #1 (permalink)  
Antiguo 21/05/2011, 16:35
(Desactivado)
 
Fecha de Ingreso: mayo-2005
Ubicación: España
Mensajes: 471
Antigüedad: 18 años, 11 meses
Puntos: 45
Exclamación Duda sobre expresiones regulares

Ya está solucionado.

¿Cómo lo solucioné? Sencillo:

El método match retorna la cadena coincidente. Simplemente haciendo un length: cadena.length me devuelve la longitud de la cadena.

if(cadena.length == coincidencia.length){
Instrucciones
}

Sin olvidar que se ha de declarar la cadena de la coincidencia como String o en lugar de devolver el numero de caracteres devolverá siempre 1.
coincidencia = new String(form.value.match(loquesea));


--------------------------------------------

Intentaré explicarme de la mejor manera que pueda. Mi duda es muy sencilla, necesito validar un pass con una expresión regular. La expresión regular podría ser esta:

/\w+/

que básicamente significa que debe encontrar alguna o más coincidencias que sean cualquier carácter alfanumérico (a-Z0-9). El problema es que si introduzco esto me lo valida ya que encuentra al menos un carácter alfanumérico:

abcde*

¿Hay alguna forma de que la expresión regular sea exclusiva, esto es, que solo sea válida si todos los caracteres que se validan concuerden y no si uno o más concuerdan? En caso contrario tendría que ir manualmente indicando cada carácter especial lo que me supone tiempo.

Muchas gracias.

AÑADIDO:

Si no existe manera de hacer lo que quiero, debería haber alguna función que devuelva la cantidad de coincidencias en un número, de ese modo podría averiguar si la cantidad de coincidencias es igual a la cantidad de caracteres de la cadena.

Por ejemplo:

abcde*

Coincidencias = 5 ; Longitud cadena= 6;

Última edición por Rolldi; 21/05/2011 a las 17:14
  #2 (permalink)  
Antiguo 21/05/2011, 17:41
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Duda sobre expresiones regulares

Creo que es más fácil que todo eso:
Código Javascript:
Ver original
  1. var rgxp = /^\w+$/;
  2. rgxp.test('abcde'); // true
  3. rgxp.test('abcde*'); // false
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 21/05/2011, 18:27
(Desactivado)
 
Fecha de Ingreso: mayo-2005
Ubicación: España
Mensajes: 471
Antigüedad: 18 años, 11 meses
Puntos: 45
Respuesta: Duda sobre expresiones regulares

Eso me pasa por no fijarme en las cosas.
  #4 (permalink)  
Antiguo 21/05/2011, 19:03
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Duda sobre expresiones regulares

Cita:
Iniciado por Rolldi
Eso me pasa por no fijarme en las cosas.
Simplemente estás empezando, creo que yo no tuve este problema en particular, pero tuve muchos otros, y todos me parecen una tontería ahora
Sigue practicando
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red

Etiquetas: expresiones, regulares
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 23:22.