В выражении
coment = coment.replace(/\\n/gi,"*#*");
... говорится "заменить все части строки, которые являются обратной косой чертой, за которыми следует буква n с # (без учета регистра). Если ваша цельдолжен заменить переводы строки , у вас слишком много обратной косой черты:
coment = coment.replace(/\n/gi,"*#*");
Однако это само по себе не будет проблемой. Из сообщения об ошибке иногда звучит как * coment
не является строкой и поэтому не имеет функции * 1012. Возможно, это undefined
или null
. Если вы знаете, что это будет undefined
, null
или строка, вы можете просто сделать это:
if (coment) {
coment = coment.replace(/\n/gi,"*#*");
}
Если это может быть число или что-то и независимо от того, что вы всегда хотите строку в конце, то:
coment = (coment === undefined || coment === null)
? ""
: String(coment).replace(/\n/gi,"*#*");
(Не просто делать coment = coment ? ...
потому что, если coment
- это число 0
, это не даст ожидаемого результата.)
Кстати, так как некоторые браузеры используют \r\n
для перехода на новую строку, а другие используют \n
,вам, вероятно, лучше использовать \r?\n
(или \r{0,1}\n
), а не просто \n
в регулярном выражении.