Предположим, мы хотим найти строковую переменную needle
в строковой переменной haystack
. Есть три ошибки:
string.toUpperCase
и string.toLowerCase
. Используйте регулярное выражение, которое вместо этого игнорирует случай. Например, var needleRegExp = new RegExp(needle, "i");
, а затем needleRegExp.test(haystack)
. needle
. Будьте осторожны, чтобы needle
не содержал никаких регулярных выражений специальных символов . Побегите их с помощью needle.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
. needle
и haystack
, просто игнорируя случай, не забудьте добавить "^"
в начале и "$"
в конце вашего конструктора регулярных выражений. Принимая во внимание точки (1) и (2), примером может быть:
var haystack = "A. BAIL. Of. Hay.";
var needle = "bail.";
var needleRegExp = new RegExp(needle.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), "i");
var result = needleRegExp.test(haystack);
if (result) {
// Your code here
}