我在 #q keyup 事件上运行这个正则表达式以避免字符串中出现额外的空格。
$('#q').val($('#q').val().replace(/\s+/g,' '));
问题是它还删除了所有新行。如何删除多余的空格但保持换行不变?
最佳答案
问题是 \s
代表所有 空格,包括换行符。如果你只想要空格,你可以有一个文字空间:
$('#q').val($('#q').val().replace(/ +/g,' '));
如果你想要空格和制表符,你可以使用字符类来代替:
$('#q').val($('#q').val().replace(/[\t ]+/g,' '));
关于javascript - 我用于查找多个空格的正则表达式如何不匹配换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8484575/