无法将“#”识别为特殊键(正则表达式 Asp.net)

3

我是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#"时,正则表达式不允许它通过。如何解决这个问题?
1个回答

3
您需要在正则表达式中特别包含`#`字符,如下所示:
ValidationExpression="^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&amp;#])[A-Za-z\d$@$!%*?&amp;#]{8,}"

演示

根据您当前的正则表达式,我认为您只允许某些非词字符,并且您需要在正则表达式中列出每个可允许的字符,如上所示。


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