2011-01-24 73 views
1

我有一个文本框,需要限制其中的字符数(不超过1000)。
这是我的正则表达式:^.{0,1000}$
它工作得很好,直到文本框中有一个换行符(当我按下回车键时)。如果文本框中有换行符,则会显示警告“您有超过2000个字符”。有没有解决这个问题的方法。正则表达式

+1

听起来像你正在使用多行文本框或textarea,是吗? – CodeMonkey1313 2011-01-24 20:39:31

+0

是的,那是真的 – user194076 2011-01-24 20:54:44

回答

3

.不匹配所有字符(即换行符),所以你可以使用两个字符组获得所有字符,像这样:

^[\s\S]{0,1000}$ 
1

设置RegexOptions.SingleLine标志。

或者,你可以明确地包括在正则表达式的新行:^(\n|.){0,1000}$

+1

我猜想OP是使用`RegularExpressionValidator`,所以在这种情况下设置标志可能不是一个选项(尽管这是一个很好的建议,否则)。 – bdukes 2011-01-24 20:42:24