2013-06-11 54 views
1

我試圖減少用戶可以輸入的新行數量。如果用戶輸入3條或更多新的生產線,將取代以2 <br>的 -正則表達式刪除空格和新行

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

問題是,如果有在一些BR的之間的一個空間,或標籤等。然後此正則表達式不會匹配,因此用戶可以放置\ n \ n空間\ n \ n並且它看起來好像它的4條線。

我該如何改變這個正則表達式,或許有一個向前/向後的阻止呢?

感謝

回答

3

我認爲這應該工作:

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

這將取代任何一組至少3 \n任意數量的\t和空間之間。

+0

看起來不錯,但不應該是'{3,}'? –

+1

@ js-coder沒有,因爲用'{3}',你會匹配第三個'\ n'之後的空格。 –

+0

哦,現在我明白了 –