2009-01-11 12 views
13

Tengo un ASP.NET RegularExpressionValidator que comprueba las extensiones de archivos. ¿Existe una manera rápida de decirle que ignore el caso de la extensión sin tener que agregar explícitamente las variantes en mayúscula a mi expresión de validación?¿Cómo puedo ignorar el caso en una expresión regular?

ValidationExpression="([^.]+[.](jpg|jpeg|gif|png|wpf|doc|docx|xls|xlsx ... 
+1

Usted puede deshacerse de algunas de las duplicaciones en esa expresión regular:? '(JPE g | gif | png | WPF | docx | xlsx??. ..' – PEZ

Respuesta

23

Server-side, "(? I)" se puede utilizar, pero esto no funciona en el lado del cliente. Vea here para más discusión y solución.

es decir, "(? I) ... (jpg | jpeg | gif | png | WPF | ..."

+1

No puedo acceder a ese enlace. De hecho obtengo un 403.6 ... sho uld me preocupo? – PEZ

+0

@PEZ: reintentado, funciona bien ... pero hay muchos otros - solo busque + RegularExpressionValidator + IgnoreCase –

+0

@PEZ - Eliminaré el // que podría confundir algunos navegadores; lo siento ... –

2

En VisualBasic.NET, puede utilizar los RegExOptions hacer caso omiso de él caso:

Dim RegexObj As New Regex("([^.]+[.](jpg|jpeg|gif))", RegexOptions.IgnoreCase) 
+0

Nuevamente, esto no funciona con RegularExpressionValidator –

+0

Sí, lo siento, lo vi demasiado tarde. Debería leer las preguntas con más cuidado. –

1

de acuerdo con la Regular Expression Options, esto debería funcionar:

// Added LowerCase i: 
ValidationExpression="(?i:[^.]+[.](jpg|jpeg|gif|png|wpf|doc|docx|xls|xlsx ... 
+0

, siempre que sea del lado del servidor; No creo que funcione del lado del cliente –

Cuestiones relacionadas