Сравнить часть строки

Как сравнить часть строки - например, если я хочу сравнить строку A, является частью String b - мне бы хотелось выяснить этот способ: String A = "abcd" String B = "abcdef" необходимо return true - Как это сделать, что я JavaScript, сравнивать должны быть одни и те же слова, использовать подстроку, я не знаю, где указать предел позиции. Любые идеи?

Ответ 1

Вы можете использовать indexOf:

if ( stringB.indexOf( stringA ) > -1 ) {
  // String B contains String A
} 

Ответ 2

Вот так:

var str = "abcdef";
if (str.indexOf("abcd") >= 0)

Обратите внимание, что это зависит от регистра. Если вы хотите нечувствительный к регистру поиск, вы можете написать

if (str.toLowerCase().indexOf("abcd") >= 0)

Или

if (/abcd/i.test(str))

И общая версия для поиска без учета регистра, вы можете установить строки любого случая

if (stringA.toLowerCase().indexOf(stringB.toLowerCase()) >= 0)

Ответ 3

"abcdef".indexOf("abcd") !== -1 должно быть в порядке

Ответ 4

Вы также можете попробовать поиск по javascript

if( stringA.search(stringB) > -1){
}

Ответ 5

Использование регулярного выражения может помочь вам.

var patt = new RegExp(stringA, 'i');
if(stringB.match(patt)){                            
   return true;
}

Ответ 6

Использование indexOf или соответствия излишне медленное, если вы имеете дело с большими строками, и вам нужно только проверить начало строки. Лучшим решением является использование startsWith() или его эквивалентной функции - от https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith:

if (!String.prototype.startsWith) {
    String.prototype.startsWith = function(searchString, position){
      position = position || 0;
      return this.substr(position, searchString.length) === searchString;
  };
}