none
Expresion Regular - little help RRS feed

  • Pregunta

  • Buenas tardes señores, por alguna razón, esto de las expresiones regulares me confunde un poco, seguramente para alguno de ustedes esto no representara un problema

    tengo que validar un textbox de la siguiente manera

    debe haber si o si y en cualquier posición 

    un carácter en minúscula o mas de uno

    uno en mayúscula o mas de uno

    un número o mas de uno

    y uno de los siguientes caracteres ! " # @ & ' () * + . o mas de uno

    y además no puede tener la cadena mas de 8 caracteres de largo 

    Entiendo que ^ y $ es el principio y fin de la cadena, y que \d representa los numeros y \w las letras, lo que no me queda claro o me confunde es como indicar que pueden estar en cualquier orden

    muchas gracias por su tiempo


    G. Poliovei

    lunes, 9 de noviembre de 2015 16:31

Respuestas

  • Gracias por su tiempo Alberto, al final luego de muchos intentos creo que ha salido bien

    <asp:RegularExpressionValidator ID="rglPassword" runat="server" ErrorMessage="Formato Inválido" ControlToValidate="txtClave" ValidationExpression="^(?=.*[A-Z])(?=.*[!#$%&()*+,-./:;<=>?@\][_'|}{])(?=.*[0-9])(?=.*[a-z]).{8,24}$">
                        </asp:RegularExpressionValidator>

    Aqui esta el codigo por si alguien mas lo necesita saludos


    G. Poliovei

    lunes, 9 de noviembre de 2015 19:39

Todas las respuestas

  • Es algo muy difícil de hacer con una expresión regular. Requeriría poner todas las posibles combinaciones en todos los órdenes, separadas con un "or" (|), ya que no existe nada en las expresiones regulares para indicar "en cualquier orden". Si lo querías para usarlo en un RegularExpressionValidator, te recomiendo que mejor lo cambies por un CustomValidator y que hagas la validación con un bucle de código.
    lunes, 9 de noviembre de 2015 19:03
  • Gracias por su tiempo Alberto, al final luego de muchos intentos creo que ha salido bien

    <asp:RegularExpressionValidator ID="rglPassword" runat="server" ErrorMessage="Formato Inválido" ControlToValidate="txtClave" ValidationExpression="^(?=.*[A-Z])(?=.*[!#$%&()*+,-./:;<=>?@\][_'|}{])(?=.*[0-9])(?=.*[a-z]).{8,24}$">
                        </asp:RegularExpressionValidator>

    Aqui esta el codigo por si alguien mas lo necesita saludos


    G. Poliovei

    lunes, 9 de noviembre de 2015 19:39