检测到文本框有一个数字和一个大写字母

时间:2014-07-18 11:12:00

标签: c# asp.net regex

您好我需要在C#中使用正则表达式来验证TextBox。

正则表达式应验证文本框是否有一个数字和一个大写字母

我的代码是:

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" 
    ControlToValidate="TextBox1" ErrorMessage="RegularExpressionValidator" 
    ValidationExpression="[A-Z a-z 0-9]*[0-1]+[A-z]+"></asp:RegularExpressionValidator>

但它不允许

nameA123

我的错误在哪里?

2 个答案:

答案 0 :(得分:3)

使用此正则表达式:

^(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9]+$

the regex demo中,您可以添加字符串以查看它们是否匹配。

<强>解释

  • ^锚点断言我们位于字符串的开头
  • 前瞻(?=.*[A-Z])声称可以匹配一些字符然后匹配大写字母
  • 前瞻(?=.*[0-9])声称可以匹配一些字符然后数字
  • [a-zA-Z0-9]+匹配字母和数字
  • $锚点断言我们位于字符串的末尾

<强>参考

答案 1 :(得分:0)

以下正则表达式将验证至少一个大写字母和一个数字,它不会关心包含特殊字符的任何字符。

^(?=.*[A-Z])(?=.*[0-9]).*$

DEMO