Ситуация такая. Есть служебная интранет-система. В ней есть моя страница со скриптом, которая запрашивает данные у пользователя. В частности, пользователь может в некоторое поле типа 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).
Особый прикол в том, что пользователь до того пользовался этим скриптом 2 месяца и проблем такого рода раньше не испытывал.
Проход скрипта пошагово под FireBug'ом выявил, что проблема в том, что вызов split('\n') в виндовом броузере оставляет на конце первой строки символ '\r', из-за которого сопоставление с регулярным выражением заканчивается неудачей.
Кто-нибудь может мне внятно объяснить, с чего это вдруг начались такие проблемы? И как с этим можно бороться?