Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/05/2011, 16:35
Rolldi
(Desactivado)
 
Fecha de Ingreso: mayo-2005
Ubicación: España
Mensajes: 471
Antigüedad: 19 años
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