Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   unterminated regular expression literal (https://javascript.ru/forum/misc/11856-unterminated-regular-expression-literal.html)

Юрий Никольский 17.09.2010 13:23

unterminated regular expression literal
 
s.replace(/\r\n|\r|\n/g,"<br>");
       alert( s );


фаербаг выдает следуещее

s.replace(/
|
|
/g,"<br>");
alert( s );

Взял готовый пример.
Что не так?

e1f 17.09.2010 14:25

А Вы случайно не так это все используете?
eval("'\\n\\n\\n'.replace(/\r\n|\r|\n/g,'<br>');")

Юрий Никольский 17.09.2010 14:31

Что-то я не догоняю.
Какая случайность?

e1f 17.09.2010 14:40

Такое возможно, если внутри regexp'a символ перевода строки стал именно переводом строки. Приведите пример того, как Вы этот код используете. Ну, и наверняка поможет записать regexp так: /\\r\\n|\\r|\\n/g

Юрий Никольский 17.09.2010 14:48

Так я привел две сточки в начале

Kolyaj 17.09.2010 14:49

Сомневаюсь, что то, что вы привели, используется именно так.

Юрий Никольский 17.09.2010 14:57

s.replace(/\\r\\n|\\r|\\n/g, "<br>");
alert( s );

С этим вариантом другая ошибка
s.replace is not a function

e1f 17.09.2010 15:04

Юрий Никольский, раз пишет, значит так оно и есть -- s НЕ строка, поэтому метода replace у нее нет. Повторюсь, приведите именно тот пример, который у Вас выдает ошибку, целиком.

рони 17.09.2010 15:05

s как формируеться? для примера...
var s = '123\r345\n';
s=s.replace(/\r\n|\r|\n/g,"<br>");  
alert( s );

Юрий Никольский 17.09.2010 15:09

<textarea id='editor' name='desc' rows=29 cols=110>$techdesc</textarea>

function save() {
       var el = document.getElementById( 'editor' );
       el.style.visibility = "hidden";
       vote( el.value );
       var s =el,value;
       s.replace(/\\r\\n|\\r|\\n/g, '<br>');
       alert( s );
       document.getElementById( 'desc' ).innerHTML = '<ul><li>' + el.value;
   }


Часовой пояс GMT +3, время: 12:36.