Я пытаюсь удалить разрывы строк с помощью JavaScript. Он работает во всех браузерах, кроме Internet Explorer (проверено в ie7, ie8). Я прочитал много постов, но не смог найти решение проблемы.
Var someText = "Here’s your text.\n It has line breaks that need to be removed.\rUsing Javascript.\r\n";
someText = someText.replace(/(\r\n|\n|\r)/gm,"");
Что еще можно попробовать?
* РЕДАКТИРОВАНИЕ *****
Вот еще код и лучшее объяснение моей проблемы:
function checkLength(fn) {
var fn = document.getElementById(fn);
var fnb = fn.value;
var fnb = fnb.replace(/(\r\n|\n|\r)/gm,"");
var len = fnb.length;
...
То, что я пытаюсь сделать, это вычислить количество символов в текстовой области. Мне приходилось рассчитывать как с Javascript, так и с PHP, и из-за разрывов строк PHP и Javascript никогда не приходили к одному и тому же числу. При удалении разрывов строк это все хорошо, кроме как в Internet Explorer (когда я вычисляю его с помощью Javascript). fnb.replace ничего не меняет в Internet Explorer для количества символов, поэтому я уверен, что он не удаляет переносы строк правильно. Во всех других браузерах это нормально, я вижу разницу в счетчике после удаления разрывов строк в javascript. Только в том, что это ничего не меняет. Я попробовал несколько вещей, а также ваши предложения ниже и количество символов до удаления переносов строк и после того же самого в ie.
///////// МОЙ ОТВЕТ //////////////////////////////////////// /
function checkLength(fn) {
var fn = document.getElementById(fn);
var fnb = fn.value;
var fnb = fnb.replace(/(\r\n|\n|\r)/gm,"");
var len = fnb.length;
...
Как сказал Томалак, моя логика может быть улучшена - извините за то, что вы новичок в JavaScript и программировании. Возможно, Томалак не делает никаких ошибок, но я уверен, что все остальные делают. Мы должны делать ошибки, чтобы учиться.
Internet Explorer не понравился
var fn = document.getElementById(fn);
var fnb = fn.value;
Мне пришлось изменить его на:
var fnb = document.getElementById(fn).value;
Даже если это не было логично, это должно было сработать. Это работало во всех браузерах, кроме ie. Это ошибка.
Это был ответ, который я искал.