我的问题很简单,但我无法理解。我有一个简单的表单(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
答案 0 :(得分:4)
只需要简化正则表达式:
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;
或者如果你想看到它,它会保存在你的数据库中:
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;