Dor*_*eka 2 regex asp.net telerik-radmaskedtextbox
我想有一个正则表达式验证器来验证邮政编码.我的邮政编码长度最多为9位数.用户可以输入5或9.如果他输入5位数或9位数,我应该有效.除此之外的任何事情我想提出错误.
我试过这个表达
ValidationExpression="\\d{5}(-\\d{4})?$"
这是我的设计我使用的是rad控件
<telerik:RadMaskedTextBox Mask="#####-####" runat="server" ID="txtcontactZipCode"
                                                    Width="200px" ValidationGroup="contactValidation">
                                                </telerik:RadMaskedTextBox>
                                                 
                                                <asp:RequiredFieldValidator runat="server" ID="rqrdcontactZipCode" ValidationGroup="contactValidation" Display="Dynamic"
                                                    ForeColor="Red" ControlToValidate="txtcontactZipCode" ErrorMessage="Zip Code is required"></asp:RequiredFieldValidator>
                                                    <asp:RegularExpressionValidator ID="regexpcontactZipCode" runat="server" ControlToValidate="txtcontactZipCode"
                                                        ValidationGroup="contactValidation" Display="Dynamic" ForeColor="Red" ErrorMessage="Should be 5 or 9 Digits"
                                                        ValidationExpression="\\d{5}(-\\d{4})?$"></asp:RegularExpressionValidator>
但如果我输入如下,我无法生效 11111-____
有人能帮我吗..
问题是您的正则表达式表示如果您有破折号,则必须存在四位数字.一般情况下这是可以的,但由于你使用输入掩码,破折号总是存在,即使它只有五位数.请尝试以下表达式.
ValidationExpression="\d{5}-?(\d{4})?$"
| 归档时间: | 
 | 
| 查看次数: | 26611 次 | 
| 最近记录: |