JavaScript + UTF = sad story?
Добрый вечер люди, у всех нижеприведенный скрипт выводит -1 или только у меня дурака? Как сделать, чтобы нужная строка все же была найдена?
<html> <body> <script type="text/javascript"> var str="Глава 1. Турбирование 6 коней"; document.write(str.search(/тур/i)); </script> </body> </html> |
Цитата:
|
Ubuntu 9.10, Firefox 3.5.5. Что я делаю не так? Принудительно выставил кодировку на странице, но не помогло:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf8"> </head> <body> <script type="text/javascript"> var str="Глава 1. Турбирование 6 коней"; document.write(str.search(/тур/i)); </script> </body> </html> |
Цитата:
|
Цитата:
javascript:alert("Глава 1. Турбирование 6 коней".search(/тур/i));void(0) |
Цитата:
Страница на http://javascript.ru сообщает: -1 Набирал в консоли Firebug. |
ignoreCase почему-то не работает. А вот здесь работает:
str.search(/[р-т]/i) Плохо все это. Может так: str.toLowerCase().search ? Да, и еще в некоторых версиях Chrome ignoreCase для Русских букв вообще не работает. Поэтому я сейчас пишу так: "/[a-zА-Яа-я]/i" . |
Цитата:
javascript:alert("Глава 1. Турбирование 6 коней".toLowerCase().search(/тур/i));void(0) заработало как надо. Спасибо большое. Согласен, что это плохо - и даже очень плохо. Это проблема браузера или операционной системы? |
А "void(0)" зачем?
Цитата:
|
Цитата:
Попробую написать на форум поддержки Firefox, а то не знают наверное. |
|
Ну и там ссылка сюда не помешала бы, что бы люди там не заново костылик придумывали, а сразу думали на тему: "а че за фигня?", может это вообще по какой-то супер причине нормальное поведение.
|
Riim,
если без него -- букмарклет не работает :) Поставил на автомате. |
Ок
|
https://bugzilla.mozilla.org/show_bug.cgi?id=502789 если не лень, то можно проголосовать за исправление, нажав vote. Висит там с 2009-07-06 и здесь (закрыт) https://bugzilla.mozilla.org/show_bug.cgi?id=428816 с 2008-04-13.
|
Часовой пояс GMT +3, время: 00:38. |