2009-02-17 111 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+)$