0

我正在使用 aRegularExpressionValidator来限制在 a 中输入的文本数量TextArea。表达式是"^[\s\S]{0,750}$"。这几乎完美无缺,但我注意到一些奇怪的行为。

如果我输入 749 个字符和一个换行符(或 748 个字符和两个换行符等),我会在浏览器之间看到一些看似不正确且不一致的行为。我猜这与换行符被不一致地视为 1 个字符或 2 个(CR & LF)有关。

IE 8 - 客户端验证失败,因为这(正确)被视为 751 个字符并且无法提交页面。IE 9 和 Firefox - 客户端验证通过并发布值。但是,在回发时会显示验证错误消息。但是,该值仍然被接受,这是错误的,因为我最终得到了 751 个字符。

有谁知道是什么原因造成的,以及我如何将文本区域限制为 N 个字符?

编辑:更正的正则表达式

编辑:只是跟进这个。很难确定 RegularExpressionValidator 究竟是如何工作的,所以我只是将其切换到自定义验证器并手动进行正则表达式检查。这解决了这个问题。

4

0 回答 0