我想在ASP.Net项目中混合使用字母和数字来表示产品代码。它应该有4个大写字母和3个数字的混合,例如, A1B2C3D,ABCD123,A123BCD 。
我做了这个,但它不起作用
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="ProductCode" ErrorMessage="Must be 7 characters in length and a mixture of 4 uppercase characters and 3 numerals " ForeColor="Red"
ValidationExpression="/^(?=(?:[^A-Z]*[A-Z]){4}[^A-Z]*$)(?=(?:\D*\d){3}\D*$)[A-Z\d]{7}$/"></asp:RegularExpressionValidator>
那我怎么能得到它?
提前致谢。
答案 0 :(得分:0)
删除分隔符/
:
ValidationExpression="^(?=(?:[^A-Z]*[A-Z]){4}[^A-Z]*$)(?=(?:\D*\d){3}\D*$)[A-Z\d]{7}$">
RegularExpressionValidator.ValidationExpression Property文档中的示例没有/
,因此将它们包含在正则表达式中是错误的。
您可能希望将\d
和\D
更改为[0-9]
和[^0-9]
。如果内容在服务器端验证,它可能会通过Regex
类,其中\d
和\D
默认使用Unicode字符。