Переводы строк в textarea на разных платформах
Ситуация такая. Есть служебная интранет-система. В ней есть моя страница со скриптом, которая запрашивает данные у пользователя. В частности, пользователь может в некоторое поле типа textarea ввести несколько сходных по смыслу значений по 1 значению на строке. Далее с результатом ввода я делаю примерно следующее:
var values_array = textarea_text.split( '\n' ); for( i = 0; i < values_array.length; i++ ) { if( ! checking_regexp.test( values_array[i] ) ) { alert( 'Фигню ты ввел, дорогой товарищ' ); return; } // И тут что-то еще существенное. } Прикол в том, что отладку скрипта я вел на Linux + Mozilla Firefox 3.6.23 - и все нормально работало и по-прежнему работает. А у пользователя, который сидит на виндах, это вдруг недавно работать отказалось (хотя там стоит та же самая Mozilla Firefox 3.6.23). :blink: Особый прикол в том, что пользователь до того пользовался этим скриптом 2 месяца и проблем такого рода раньше не испытывал. :blink: Проход скрипта пошагово под FireBug'ом выявил, что проблема в том, что вызов split('\n') в виндовом броузере оставляет на конце первой строки символ '\r', из-за которого сопоставление с регулярным выражением заканчивается неудачей. Кто-нибудь может мне внятно объяснить, с чего это вдруг начались такие проблемы? И как с этим можно бороться? |
Во-первых, .split(/\r?\n/).
Во-вторых, в любом случае желательно удалять пробелы в начале и в конце каждой строки. |
Спасибо.
Только все равно остается непонятным почему раньше все работало прекрасно, а потом перестало. При том, что скрипт не менялся. |
Часовой пояс GMT +3, время: 11:57. |