2011-04-21 25 views
9

tengo este código JavaScript, pero cuando envío esto: asd.jpg la expresión regular deja de ..¿Cómo hacer que Regex no distinga entre mayúsculas y minúsculas?

if (data.match(/([^\/\\]+)\.(jpg|jpeg|gif|png|tiff|tif)$/i)) 
    return { filename: RegExp.$1, ext: RegExp.$2 }; 
else 
    return { filename: "invalid file type", ext: null }; 

así que quiero que la expresión regular se ve en la extensión como mayúsculas y minúsculas. He intentado esto pero fracasa:

data.match(/([^\/\\]+)\.(?i)(jpg|jpeg|gif|png|tiff|tif)$/i) 

alguna idea?

+2

Su código funciona para mí: http://jsfiddle.net/fkling/ecThT/ El 'i' al final de la expresión regular lo hace insensible a mayúsculas y minúsculas. –

+0

Eso funciona bien para mí? – Chris

+1

¡Bienvenido a StackOverflow! A la derecha, cuando hacía su pregunta, estaba esta práctica caja ** Cómo formatear **. Merece la pena leerlo, ya que [la página está vinculada] (http://stackoverflow.com/editing-help) del ** [?] ** justo encima del área de preguntas. (Lo he arreglado para ti en esta ocasión.) –

Respuesta

31

La bandera i que tiene al final (/.../i) debería estar haciéndolo.

(CW porque seamos sinceros, no hay que ganar representante de este tipo de cosas ... :-))

+2

+1 por no obtener rep;) –

+0

porque este sitio formatea mi barra diagonal inversa - Tomé este functino desde aquí: http://lawrence.ecorp.net/inet/samples/regexp-parse .php al final está la función – Nir

+0

@user: Depende de usted formatear las cosas correctamente. Todos somos codificadores, no debería ser difícil. Ver los enlaces en mi comentario sobre la pregunta. –

Cuestiones relacionadas