2009-02-17 70 views
7

是否有人有正則表達式來限制響應中的單詞數?例如,我想用它與jQuery驗證,所以我可以限制一個文本框/ textarea有250個單詞。這些框將是純文本的。使用正則表達式限制響應中的單詞數

我已經做了一些谷歌搜索,但沒有發現我很好。他們大多集中在做\ b \ w + \ b,但是我很難得到它的工作。

+0

它可能會更有意義計數人物 - 有什麼能夠阻止人們只是打字,打字和打字沒有空格......說,VonC的答案看起來非常棒! – 2009-02-17 22:25:41

+0

標點符號怎麼樣?是否要求您的用戶只輸入單詞字符和空格? – 2009-02-18 11:32:56

回答

8

你能嘗試:多行

^(?:\b\w+\b[\s\r\n]*){1,250}$ 

這將限制在250個字。

恐怕艾倫最初的命題:

/^\w+(?:\s+\w+){0,249}$/ 

可能是catastrophic backtracking

當嵌套重複操作的情況下,一定要注意,只有一個相匹配的同樣的方法匹配

3

如何用正則表達式分割文本(比如「\ s +」),然後計算結果列表的長度?這會比較容易閱讀。

0

這是用於字數驗證的正則表達式。

(\w*\W*){0,250} 
1

這工作很適合我,例如,如果你想有一個6字的限制:

^(?:\w+\W+){0,5}(?:\w+)$