Поведение свойства length в разных браузерах.
Здравствуйте.
На сайте организовал подсчёт символов в textarea через проверку свойства length после ввода каждого символа или после вставки куска текста. Пример http://labourex.ru/boss/reg_boss.php Всплыла вот такая проблема: Перенос строки в Opera и IE считается за один символ, в FF и Chrome за два. Я так подозреваю, что Opera и IE воспринимают перенос строки как \r\n, а FF и Chrome как \n. Как крайний вариант я могу проверять последний введённый символ или сканить вставленный кусок на наличие переноса строк и корректировать счётчик. Но сканить большой кусок текста - это как-то ресурсоёмко. Может кто предложит более простые варианты получить одинаковое количество символов от всех браузеров? |
<textarea id="ta"></textarea> <script> document.getElementById('ta').onkeyup = function() { var expr = /[\n\r]/g, value = this.value; alert(value.length - (expr.test(value) ? value.match(expr).length : 0)); }; </script> |
Часовой пояс GMT +3, время: 06:17. |