вертикальная линия проблемы с JavaScript - PullRequest
1 голос
/ 03 марта 2011
document.write(new String("abgigi").search("|"));

Приведенный выше код отображает 0 вместо ожидаемого -1.Почему это так?

1 Ответ

5 голосов
/ 03 марта 2011

search принимает регулярное выражение в качестве аргумента, а | является оператором ИЛИ в регулярном выражении: ваш шаблон поиска по сути является "пустой строкой ИЛИ пустой строкой", поэтому в позиции 0 найдено совпадение.

Если вы хотите выполнить простое сопоставление строк, используйте indexOf вместо search.

...