第二章节 ASP.NET 验证控件(二)

1.范围和正则表达式验证控件

1.范围验证控件
RangeValidator控件用于检查输入的值是否在确定的最小值和最大值之间。
例如用户输入的年龄限制范围为0~100岁,这就需要RangeValidator控件来验证。
RangeValidator控件常用属性见下表:

属性说明
ControlToValidate要验证控件的ID(这个属性所有控件都有)
MaximumValue范围的上界(最大值)
MinimumValue范围的下界(最小值)
Type验证类型(字符串、整型、双精度、日期和货币5种)

2.正则表达式验证控件
RegularExpressionValidator控件用于检查用户输入是否与预定义的正则表达式相匹配。
例如,对电话号码、邮编、网址、身份证号和家庭住址等执行验证。
正则表达式是采用字符模式匹配字符串类型数据的专用语法。
ASP.NET中内置了几个常用的正则表达式,只需要选择控件的ValidationExpression属性就可以打开正则表达式编辑器,然后选择所要使用的正则表达式即可。
在这里插入图片描述
在这里插入图片描述

使用RegularExpressionValidator控件进行身份证输入是否匹配规则案例

<form id="form1" runat="server">
        <div>
            <div >用户名
                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="请输入用户名" ControlToValidate="TextBox1" ForeColor="red"></asp:RequiredFieldValidator>
            </div>
             <div >密码
                <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="请输入密码" ControlToValidate="TextBox2" ForeColor="red"></asp:RequiredFieldValidator>
            </div>
            <div >确认密码
                <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="请输入确认密码" ControlToValidate="TextBox3" ForeColor="red"></asp:RequiredFieldValidator>
                <asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="两次密码输入不一致" ControlToCompare="TextBox2" ControlToValidate="TextBox3" ForeColor="green"></asp:CompareValidator>
            </div>
             <div >身份证号码
                <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ErrorMessage="请输入正确的身份证" ControlToValidate="TextBox4" ForeColor="red"></asp:RequiredFieldValidator>
                 <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="请输入正确的身份证格式" ControlToValidate="TextBox4" ForeColor="Blue" ValidationExpression="\d{17}[\d|X]|\d{15}"></asp:RegularExpressionValidator>
            </div>
            <div>
                <asp:Label ID="Label1" runat="server" Text=" "></asp:Label>
            </div>
            <div>
                <asp:Button ID="Button1" runat="server" Text="登录" OnClick="Button1_Click" style="height: 21px;width:60px" />
            </div>
        </div>
    </form>
常用的服务器端数据验证控件 RequiredFieldValidator(必须项); CompareValidator(与某值的比较); RangeValidator(范围检查); RegularExpressionValidator(模式匹配); CustomValidator(用户定义); ValidationSummary控件用于在网页、消息框或在这两者中内联显示所有验证错误的摘要 RequiredFieldValidator控件默认检查非空字符串(空格不算在内)。在RequiredFieldValidator关联的表单字段中输入任何字符,该RequiredFieldValidator控件就不会显示它的验证错误信息。 RequiredFieldValidator控件用于要求用户在提交表单前为表单字段输入值。使用Required- FieldValidator控件时,必须设置两个重要的属性: ControlToValidate——被验证的表单字段的ID。 Text——验证失败时显示的错误信息。 RangeValidator控件用于检测表单字段的值是否在指定的最小值和最大值之间。使用这个控件时,必须设置5个属性: ControlToValidate——被验证的表单字段的ID。 Text——验证失败时显示的错误信息。 MinimumValue——验证范围的最小值。 MaximumValue——验证范围的最大值。 Type——所执行的比较类型。可能的值有String、Integer、Double、Date和Currency。 CompareValidator控件可用于执行三种不同类型的验证任务。可使用CompareValidator执行数据类型检测。换句话说,可以用它确定用户是否在表单字段中输入了类型正确的值,比如在生日数据字段输入一个日期。 也可以用CompareValidator控件在输入表单字段的值和一个固定值之间进行比较。例如,要建立一个拍卖网站,就可以用CompareValidator检查新的起价是否大于前面的起价。 最后,可以用CompareValidator控件比较一个表单字段的值与另一个表单字段的值。例如,可以使用CompareValidator控件检查输入的会议开始日期值是否小于输入的会议结束日期值。 CompareValidator控件有6个重要的属性: ControlToValidate——被验证的表单字段的ID。 Text——验证失败时显示的错误信息。 Type——比较的数据类型。可能的值有String、Integer、Double、Date和Currency。 Operator——所执行的比较的类型。可能的值有DataTypeCheck、Equal、GreaterThan、Greater- ThanEqual、LessThan、LessThanEqual和NotEqual。 ValueToCompare——所比较的固定值。 ControlToCompare——所比较的控件的ID。 RegularExpressionValidator控件用于把表单字段的值和正则表达式进行比较。正则表达式可用于表示字符串模式,比如电子邮件地址、社会保障号、电话号码、日期、货币数和产品编码。 这个控件ValidationExpression中可以输入正则表达式来控制用户输入的字符,正则表达式的用处很多。具体可以在网上自己找一些常用的正则表达式看一下 只能输入数字:"^[0-9]*$"。   只能输入n位的数字:"^\d{n}$"。   只能输入至少n位的数字:"^\d{n,}$"。 。。。。。。。。。。。。。。。。。。。。。。。。。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值