繁体   English   中英

为什么正则表达式验证器被忽略?

[英]Why regularexpressionvalidator is being ignored?

我已经使用regularexpressionvalidator实现了一个正则表达式,但是它不起作用。

就像它忽略了验证器。 为什么呢

  <div class="form-group">
                            <label class="control-label">
                                New Password
                                 <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtnewPassword"
                                     ErrorMessage="*" Display="Dynamic" ForeColor="red" ValidationGroup="acc"></asp:RequiredFieldValidator>
                                <asp:RegularExpressionValidator ID="regexValNewPassword" runat="server" Display="Dynamic" ForeColor="red" ValidationGroup="acc"
                                    ControlToValidate="txtnewPassword"
                                    EnableClientScript="False"
                                    ErrorMessage="***"
                                    ValidationExpression="^[1-9]+[0-9]*$" Visible="True">
                                    *
                                </asp:RegularExpressionValidator>

                            </label>
                            <asp:TextBox runat="server" ID="txtnewPassword" TextMode="Password" CssClass="form-control passwords"></asp:TextBox>

                        </div>

更新:

请参阅。当我仅输入数字字符串(例如123455)时,我希望我的正则表达式抛出错误。它只应接受混合字符字符串(例如12ac3b12或aac2211 @ 11)

如果输入仅是数字,则可以使用不匹配的正则表达式。 根据您的当前要求,只有输入至少包含一位数字和一个字母时,它才会匹配。 这里的最小密码长度是2,您可以通过在此处指定数字{N,}来将其设置为任意长度。如果您对字符集有其他类似要求,可以进一步调整正则表达式,或者让我知道,我可以进一步更新正则表达式。

^(?=.*[A-Za-z])(?=.*\d).{2,}$

演示,

https://regex101.com/r/Fv7cw7/1

您的正则表达式^[1-9]+[0-9]*$仅匹配数字,并且应以1-9开头。

要检查是否至少有一个字符和一个数字,您可以使用正向先行。

^(?=.*[A-Za-z@])(?=.*\\d)[@a-zA-Z\\d]+$

正则表达式演示

说明

  • ^字符串的开头
  • (?=.*[A-Za-z@])正向超前以断言来自字符类的 1个字符
  • (?=.*\\d)正向前进以声明1位数字
  • [@a-zA-Z\\d]+匹配1+倍于字符类所允许的次数。 您可以将允许匹配的内容添加到角色类中。
  • $字符串结尾

由于2个正向前行,最小长度为2个字符。 如果要匹配最小长度(例如8),可以在字符类中添加一个类似{8}量词,而不是+

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM