none
Contraseñas controladas por expresiones regulares.

    Pregunta

  • Hola a todos.

    Os prometo que he buscado antes por la red y en el foro pero no encuentro nada sobre esto.

    Necesito controlar para una contraseña, entre otras limitaciones que ya las tengo resueltas las siguientes:

    1.- No puede contener más de dos caracteres duplicados (letras o números). O sea, no valen *111*, *444*, *bbb* ...

    2.- No puede contener más de dos caracteres seguidos (letras o números). O sea, no valen *123*, ni *345*, tampoco valdría *ABC* ni *vwx"...

    Espero que esté claro.

    PD: He estado viendo las expresiones regulares y no consigo encontrar/crear el patrón correcto para estas comprobaciones. Desde luego tampoco domino las expresiones :-(.


    No aprendemos gracias a la escuela sino gracias a los foros ;-) (la original es de Séneca y en lugar de foros es vida)

    lunes, 24 de marzo de 2014 8:18

Respuestas

  • Al final voy a poner estas que parecen que funciona, al menos en los ejemplos que he usado.

    Gracias a todos por vuestro interés.

    Para las repeticiones:

    [[a]{3}|[b]{3}|[c]{3}|[d]{3}|[e]{3}|[f]{3}|[g]{3}|[h]{3}|[i]{3}|[j]{3}|[k]{3}|[l]{3}|[m]{3}|[n]{3}|[o]{3}|[p]{3}|[q]{3}|[r]{3}|[s]{3}|[t]{3}|[u]{3}|[v]{3}|[w]{3}|[x]{3}|[y]{3}|[z]{3}]

    [[A]{3}|[B]{3}|[C]{3}|[D]{3}|[E]{3}|[F]{3}|[G]{3}|[H]{3}|[I]{3}|[J]{3}|[K]{3}|[L]{3}|[M]{3}|[N]{3}|[O]{3}|[P]{3}|[Q]{3}|[R]{3}|[S]{3}|[T]{3}|[U]{3}|[V]{3}|[W]{3}|[X]{3}|[Y]{3}|[Z]{3}]

    [[0]{3}|[1]{3}|[2]{3}|[3]{3}|[4]{3}|[5]{3}|[6]{3}|[7]{3}|[8]{3}|[9]{3}]

    Y para los consecutivos:

    abc|bcd|cde|def|efg|fgh|ghi|hij|ijk|jkl|klm|lmn|mno|nop|opq|pqr|qrs|rst|stu|tuv|uvw|vwx|wxy|xyz

    ABC|BCD|CDE|DEF|EFG|FGH|GHI|HIJ|IJK|JKL|KLM|LMN|MNO|NOP|OPQ|PQR|QRS|RST|STU|TUV|UVW|VWX|WXY|XYZ

    012|123|234|345|456|567|678|789


    No aprendemos gracias a la escuela sino gracias a los foros ;-) (la original es de Séneca y en lugar de foros es vida)

    • Marcado como respuesta ravipe lunes, 24 de marzo de 2014 11:52
    lunes, 24 de marzo de 2014 11:52

Todas las respuestas

  • La limitación de los caracteres duplicados seguidos es posible que se pueda conseguir en una expresión regular con un poco de habilidad y jugando con los grupos de captura. Pero la segunda, la de los caracteres seguidos, yo creo que no se puede hacer salvo que escribas en la expresión regular una relación exahustiva de todos los posibles pares prohibidos. Creo que este tipo de comprobaciones te va a convenir más hacerlas mediante código en C#, iterando sobre la cadena de caracteres, en lugar de usar una expresión regular.
    lunes, 24 de marzo de 2014 10:51
    Moderador
  • Gracias Alberto, seguiré investigando para los consecutivos.

    Me puedes poner un ejemplo de caracteres duplicados.


    No aprendemos gracias a la escuela sino gracias a los foros ;-) (la original es de Séneca y en lugar de foros es vida)

    lunes, 24 de marzo de 2014 11:13
  • hola

    quizas ejemplos de regular expression podrian ser de ayuda

    reg ex password

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 24 de marzo de 2014 11:25
  • Leandro gracias por tu respuesta.

    Ya había visitado esta página y otras pero no encuentro concretamente lo que quiero, aunque también hay que añadir que he manejado muy poco, nada, las expresiones regulares.


    No aprendemos gracias a la escuela sino gracias a los foros ;-) (la original es de Séneca y en lugar de foros es vida)

    lunes, 24 de marzo de 2014 11:49
  • Al final voy a poner estas que parecen que funciona, al menos en los ejemplos que he usado.

    Gracias a todos por vuestro interés.

    Para las repeticiones:

    [[a]{3}|[b]{3}|[c]{3}|[d]{3}|[e]{3}|[f]{3}|[g]{3}|[h]{3}|[i]{3}|[j]{3}|[k]{3}|[l]{3}|[m]{3}|[n]{3}|[o]{3}|[p]{3}|[q]{3}|[r]{3}|[s]{3}|[t]{3}|[u]{3}|[v]{3}|[w]{3}|[x]{3}|[y]{3}|[z]{3}]

    [[A]{3}|[B]{3}|[C]{3}|[D]{3}|[E]{3}|[F]{3}|[G]{3}|[H]{3}|[I]{3}|[J]{3}|[K]{3}|[L]{3}|[M]{3}|[N]{3}|[O]{3}|[P]{3}|[Q]{3}|[R]{3}|[S]{3}|[T]{3}|[U]{3}|[V]{3}|[W]{3}|[X]{3}|[Y]{3}|[Z]{3}]

    [[0]{3}|[1]{3}|[2]{3}|[3]{3}|[4]{3}|[5]{3}|[6]{3}|[7]{3}|[8]{3}|[9]{3}]

    Y para los consecutivos:

    abc|bcd|cde|def|efg|fgh|ghi|hij|ijk|jkl|klm|lmn|mno|nop|opq|pqr|qrs|rst|stu|tuv|uvw|vwx|wxy|xyz

    ABC|BCD|CDE|DEF|EFG|FGH|GHI|HIJ|IJK|JKL|KLM|LMN|MNO|NOP|OPQ|PQR|QRS|RST|STU|TUV|UVW|VWX|WXY|XYZ

    012|123|234|345|456|567|678|789


    No aprendemos gracias a la escuela sino gracias a los foros ;-) (la original es de Séneca y en lugar de foros es vida)

    • Marcado como respuesta ravipe lunes, 24 de marzo de 2014 11:52
    lunes, 24 de marzo de 2014 11:52