检测文本框中是否有一个数字和一个大写字母。

3

你好,我需要使用C#中的正则表达式来验证一个文本框。

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

我的代码如下:

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

但是它不允许。
nameA123

我的代码哪里出错了?


你的意思是至少有一个大写字母或者所有字母都必须是大写字母吗?你能给出一个有效输入的例子吗? - shree.pat18
一个数字和一个大写字符串是什么意思? - Avinash Raj
一个数字和一个大写字符串.... - Happy .NET
那么两个字符,它怎么允许 nameA123?如果你的意思是至少一个大写字母和至少一个数字,那么为什么它允许小写字符串 name - Avinash Raj
文本框应至少包含一个大写字母和一个数字... - Happy .NET
显示剩余2条评论
2个回答

3

使用此正则表达式:

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

正则表达式演示中,您可以添加字符串以查看它们是否匹配。
解释:
- "^"锚定断言我们在字符串的开头 - 前瞻"(?=.*[A-Z])"断言后面有一些字符,然后是一个大写字母 - 前瞻"(?=.*[0-9])"断言后面有一些字符,然后是一个数字 - "[a-zA-Z0-9]+"匹配字母和数字 - "$"锚定断言我们在字符串的结尾
参考:
- 前瞻和后顾零长度断言 - 掌握前瞻和后顾

FYI:已添加演示和说明。 :) - zx81

0
以下正则表达式将验证至少有一个大写字母和一个数字,并且不关心包括特殊字符在内的任何字符。
^(?=.*[A-Z])(?=.*[0-9]).*$

演示


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接