c# - 无法将 '#' 检测为特殊键(Regex Asp.net)

标签 c# asp.net regex special-characters

我是 Asp 新手。我在使用正则表达式检查密码输入时遇到问题。这里是正则表达式

<asp:RegularExpressionValidator ID="Regex1" runat="server" 
                    ErrorMessage="Password must contain: Minimum 8 characters atleast 1 UpperCase Alphabet, 1 LowerCase Alphabet, 1 Number and 1 Special Character" 
                    Font-Italic="True" Font-Size="Small" ForeColor="Red" 

                    ValidationExpression="^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&amp;])[A-Za-z\d$@$!%*?&amp;]{8,}"
                    ControlToValidate="TextBoxNewPassword" Display="Dynamic" />

当我输入“Hamlida123#”时,正则表达式不允许。如何解决?

最佳答案

您需要在正则表达式中专门包含“#”字符,如下所示:

ValidationExpression="^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&amp;#])[A-Za-z\d$@$!%*?&amp;#]{8,}"

Demo

根据您当前的正则表达式,我假设您只允许某些非单词字符,因此您需要在正则表达式中列出每个允许的字符,如上所示。

关于c# - 无法将 '#' 检测为特殊键(Regex Asp.net),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31107519/

相关文章:

c# - Parallel.ForEach 比正常的 foreach 慢

c# - 如何创建包含 $redact 的 c# mongodb 管道

c# - Entity Framework 如何使用导航属性

c# - ASP.NET FTP 部署

javascript - 创建正则表达式以将每个单词与 分开。 (点)

regex - lookhehind断言长度错误

c# - 语句与 REFERENCE 约束冲突

c# - 自定义类的 IEnumerable 和 String.Join()

asp.net - 不知道如何在sql session 状态中存储 session id

javascript 当字符连续出现时替换每个出现的字符