[javascript] JavaScript에서 대소 문자를 구분하지 않는 정규식

JavaScript를 사용하여 URL에서 쿼리 문자열을 추출하고 쿼리 문자열 이름에 대해 대소 문자를 구분하지 않는 비교를 수행하고 싶습니다. 내가하는 일은 다음과 같습니다.

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

그러나 위의 코드는 대소 문자를 구분하는 검색을 수행합니다. 시도 /<regex>/i했지만 도움이되지 않았습니다. 어떻게 이룰 수 있을지 아십니까?



답변

“대소 문자 무시”를 의미하는 ‘i’수정자를 추가 할 수 있습니다.

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


답변

수정자는 두 번째 매개 변수로 제공됩니다.

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


답변

간단한 원 라이너. 아래 예에서는 모든 모음을 X로 바꿉니다.

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

replaceWithRegex('HEllo there', /[aeiou]/gi, 'X'); //"HXllX thXrX"


답변