【问题标题】:regex remove white space and new lines正则表达式删除空格和换行符
【发布时间】:2013-06-11 15:38:51
【问题描述】:

我正在尝试减少用户可以输入的新行数。如果用户输入 3 个或更多新行,它将替换为 2 个<br>'s -

txt = txt.replace(new RegExp('(\\n){3,}', 'gim') , '<br/><br/>');

问题是,如果在某些 br 之间有空格或制表符等,则此正则表达式将不匹配,因此用户可以放置 \n\n 空格 \n\n,它看起来好像是 4 行。

我如何更改这个正则表达式,也许向前/向后看以防止这种情况发生?

谢谢

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    我认为这应该可行:

    txt = txt.replace(/(\n[\t ]*){2,}\n/gm , '<br/><br/>')
    

    它将用任意数量的\t 和中间的空格替换至少 3 个 \n 的任意组。

    【讨论】:

    • @js-coder no 因为{3,} 你还可以匹配第三个\n 之后的空格。
    猜你喜欢
    • 1970-01-01
    • 2021-04-10
    • 1970-01-01
    • 2019-06-21
    • 2016-06-17
    • 1970-01-01
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多