Regex que no distingue entre mayúsculas y minúsculas en JavaScript


121

Quiero extraer una cadena de consulta de mi URL usando JavaScript, y quiero hacer una comparación que no distinga entre mayúsculas y minúsculas para el nombre de la cadena de consulta. Esto es lo que estoy haciendo:

var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
if (!results) { return 0; }
return results[1] || 0;

Pero el código anterior hace una búsqueda sensible a mayúsculas y minúsculas. Lo intenté /<regex>/ipero no sirvió de nada. ¿Alguna idea de cómo se puede lograr eso?


5
Ese formato literal / regex / i debería funcionar, a menos que intentes concatenarlo o algo así ...
Alex

Respuestas:


211

Puede agregar un modificador 'i' que significa "ignorar mayúsculas y minúsculas"

var results = new RegExp('[\\?&]' + name + '=([^&#]*)', 'i').exec(window.location.href);

2
¿De alguna manera lo convierto en una sola cadena?
Cardenal - Reincorpora a Monica

11
@CardinalSystem/abc/i
aross

42

los modificadores se dan como segundo parámetro:

new RegExp('[\\?&]' + name + '=([^&#]*)', "i")

onew RegExp('^' + string + '$', "i")
Vadim

6

Un trazador de líneas simple. En el siguiente ejemplo, reemplaza cada vocal con una X.

function replaceWithRegex(str, regex, replaceWith) {
  return str.replace(regex, replaceWith);
}

replaceWithRegex('HEllo there', /[aeiou]/gi, 'X'); //"HXllX thXrX"
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.