0

有没有办法限制多行文本框中的行数?我只想允许用户在多行文本框中输入最多 12 行文本。现在,文本框接受的行数与用户输入的行数一样多。

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

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

4

1 回答 1

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})$
于 2013-02-08T01:30:08.050 回答