限制多行文本框中的行数

时间:2013-02-07 21:15:14

标签: asp.net .net regex textbox multiline

有没有办法限制多行文本框中的行数?我只想让用户在多行文本框中输入最多12行文本。现在,文本框接受用户抛出的行数。

另一个障碍是多行文本框位于列表视图中,因此很难使用JavaScript检索文本框名称。

我可以简单地使用正则表达式验证器将新行数限制为12吗?如果是这样,那么正确的正则表达式是什么?我已经尝试了^(\n|\r|\r\n){0,12}$但它根本不起作用。

1 个答案:

答案 0 :(得分:0)

您应该能够使用正则表达式验证器。试试这个表达式:

^[^\n]*(?:\n[^\n]*){0,11}$

如果您还希望将每行限制为最多65个字符,则可以使用:

^[^\n]{0,65}(?:\n[^\n]{0,65}){0,11}$

如果你想计算线条,就好像有超过65个字符的行有软换行符,这可能会有效:

^[^\n]{0,65}(?:\n?[^\n]{0,65}){0,11}$

请注意?之后的\n,将换行符设为自选。

您可能希望优化此表达式以通过添加原子组来最小化回溯,例如:

^(?>[^\n]{0,65})(?>(?>\n?[^\n]{0,65}){0,11})$