Показать сообщение отдельно
  #25 (permalink)  
Старый 20.02.2011, 16:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,138

Ещё вариант ...
String.prototype.index = function (c) {
    for (var a = -1, d = this.length, b = 0; b < d; b++) {
        if (c.length > d) break;
        a++;
        if (c.charAt(a) !== this.charAt(b)) {
            b -= a;
            a = -1
        }
        if (a == c.length - 1) return b - c.length + 1
    }
    return a
};
var s1 = 'aababaO_o',
     l1 = 'abaO', l2 = 'abac', l3 = 'aa', l4 = 'O_o';
alert( [
 [s1.index(l1), s1.indexOf(l1)]
].join('\n') )

// Где ищем
var s = 'A';
// Что ищем
var t = 'AB';

alert([
	'В строке "' + s + '"',
	'ищем "' + t + '"',
	'и находим: ' + s.index(t), // Должно быть -1, показывает 0
	'хотя там быть не должно: ' + s.indexOf(t) // Показывает -1
].join('\n'));

var s1 = 'aababaO_o',
     l1 = 'aba', l2 = 'abac', l3 = 'aa', l4 = 'O_o';

alert( [
 [s1.index(l1), s1.indexOf(l1)],
 [s1.index(l2), s1.indexOf(l2)],
 [s1.index(l3), s1.indexOf(l3)],
 [s1.index(l4), s1.indexOf(l4)]
].join('\n') )
Ответить с цитированием