Javascript - 删除紧随其后的换行符

时间:2017-06-20 16:41:30

标签: javascript

我的问题很简单,但我无法理解。我有一个简单的表单(textarea),用户输入一些文本,这个文本保存在数据库中。问题是 - 我想在保存文本之前删除不必要的空格。所以我创建了一个简单的Javascript函数:

str.replace(/\n\s*\n\s*\n/g, '\n');

但是当用户发布如下文字时,它不会删除空格:

hello world     \nanother sample           \n test

(所以当用户在最后一个单词之后添加空格/空格然后在新行中发布另一个单词时,这些空格将保留(并保存在数据库中):

hello word    <br>another sample         <br> test

我需要的是Javascript删除这些后跟新行的空格,结果是:

hello word<br>another sample<br>test

1 个答案:

答案 0 :(得分:4)

只需要简化正则表达式:

&#13;
&#13;
const input = 'hello world     \nanother sample           \n test';
const output = input
  // Remove all whitespace before and after a linebreak
  .replace(/\s*\n\s*/g, '\n');
console.log(output);
&#13;
&#13;
&#13;

或者如果你想看到它,它会保存在你的数据库中:

&#13;
&#13;
const input = 'hello world     \nanother sample           \n test';
const output = input
  // Remove all whitespace before and after a linebreak
  .replace(/\s*\n\s*/g, '<br>');
console.log(output);
&#13;
&#13;
&#13;