我需要用户使用单个字母'A'加上8位数而不是更多。例如。 A00000000
以下是我的代码,但是我希望将位数限制为8.我使用的是MVC 4.
[RegularExpression("^[A][0-9]{8}$", ErrorMessage="Required format: A00000000")]
虽然它确实验证了用户可以永远打字。所以字符数没有限制。一旦它达到最多8位数就停止用户输入将是很好的。
感谢您的阅读。
答案 0 :(得分:1)
单独使用正则表达式无法限制字符数,但您可以使用maxlength
属性指定<input>
元素中允许的最大字符数:
<input type="text" name="myInput" maxlength="9">
答案 1 :(得分:0)
除非您自己实现,否则正则表达式匹配只能对您拥有的字符串进行操作。在用户输入之前你就不会拥有它。
因此,如果你想阻止他打字,那么在你进入正则表达式之前,你将不得不 。
答案 2 :(得分:0)
如果您试图阻止某人在网页上输入文字框等内容,那么您必须加入按键事件(keyup或keydown)。然后一旦验证失败,返回&#34; false&#34;来自keypress事件处理程序,它将阻止字符进入文本框,或者您可能需要对传入的事件对象使用preventDefault(例如e.preventDefault())。如果您正在使用jQuery,请查看此网页:https://api.jquery.com/keypress/,了解如何设置事件处理程序。