在做BS的项目时,对输入有限制,需要很多验证。下面我们介绍一下各个验证控件以及正则表达式。
1.非空验证
对于非空验证我们常用的是ASP.NET的控件:RequiredFieldValidator。重要属性:ControlToValidate:要验证的控件名称;ErrorMessage:错误提示信息。
例子:判断用户名和密码是否已经输入。
代码:
<form id="form1"runat="server">
<div>
用户账号:<asp:TextBox ID="txtUsername"runat="server"></asp:TextBox>
<asp:RequiredFieldValidatorID="RequiredFieldValidator1" runat="server"
ControlToValidate="txtUsername" ErrorMessage="请输入用户名"></asp:RequiredFieldValidator>
<br />
密 码:<asp:TextBoxID="txtUserpass"
runat="server"TextMode="Password"></asp:TextBox>
<asp:RequiredFieldValidatorID="RequiredFieldValidator2" runat="server"
ControlToValidate="txtUserpass" ErrorMessage="请输入密码"></asp:RequiredFieldValidator>
<br />
<asp:ButtonID="btnReset" runat="server" Text="重置" οnclick="btnReset_Click" />
<asp:ButtonID="btnSubmit" runat="server" Text="登录" />
<br />
</div>
</form>
2.比较验证控件
ASP中的比较验证控件一般使用:CompareValidator;重要属性:ControlToValidate:要验证的控件ID;ErrorMessage:错误提示信息;ControlToCompare:与此相比的控件ID;Operator:操作类型(Equal相等;NotEaula不相等;DataTypeCheck数据类型验证;GreaterThan大于;GreateThanEqual大于等于;LessThan小于;LessThanEqual小于等于);Type:类型(Integer整数型;Date日期;Double双精度浮点型;String字符串型;Currency货币类型);ValueToCompare:比较值。
例子:判断用户注册时两次输入的密码是否相同。
代码:
<form id="form1"runat="server">
<div>
密  码:<asp:TextBoxID="txtUserpass"
runat="server"></asp:TextBox>
<asp:RequiredFieldValidatorID="RequiredFieldValidator1" runat="server"
ControlToValidate="txtUserpass" ErrorMessage="请输入密码"></asp:RequiredFieldValidator>
<br />
重复密码:<asp:TextBox ID="txtUserpass2"runat="server"></asp:TextBox>
<asp:RequiredFieldValidatorID="RequiredFieldValidator2" runat="server"
ControlToValidate="txtUserpass2" Display="Dynamic"ErrorMessage="请输入重复密码"></asp:RequiredFieldValidator>
<asp:CompareValidatorID="CompareValidator1" runat="server"
ControlToCompare="txtUserpass"ControlToValidate="txtUserpass2"
ErrorMessage="两次输入密码不同!请输入相同的密码!" Operator="Equal"></asp:CompareValidator>
</div>
</form>
3.范围验证控件
比较常用的范围验证控件是RangeValidator控件。使用时的重要属性:ControlToValidate:要验证的控件;ErrorMessage:错误提示信息;MaximumValue:最大值;MinimumValue:最小值;Type:类型(Integer整数型;Date日期;Double双精度浮点型;String字符串型;Currency货币类型)。
例子:判断文本框中输入的是否为字符型的小写字符。
代码:
<form id="form1"runat="server">
<div>
请输入小写词汇:<asp:TextBoxID="TextBox2" runat="server"></asp:TextBox>
<asp:RangeValidatorID="RangeValidator3" runat="server"
ControlToValidate="TextBox2" ErrorMessage="请输入小写词汇" MaximumValue="z"
MinimumValue="a"></asp:RangeValidator>
</div>
</form>
4.正则表达式验证
通常,在实际生活中,用给定的验证控件是远远不够的,比如验证身份证号码、邮箱、IP、邮政编码等,这时我们用到了RegularExpressionValidator控件,我们可以通过书写正则表达式实现需求的验证功能。
例子:验证输入的身份证号是否正确。
代码:
<form id="form1"runat="server">
<div>
身份证号:<asp:TextBox ID="txtID"runat="server"></asp:TextBox>
<asp:RegularExpressionValidatorID="RegularExpressionValidator1" runat="server"
ControlToValidate="txtID" ErrorMessage="省份证号有误"
ValidationExpression="\d{17}[\d|X]|\d{15}"></asp:RegularExpressionValidator>
</div>
</form>
用到正则表达式的时候可以在网上查询,同时也可以自己写; 以下列出一些常用的正则表达式:
邮编验证:"\d{6}"
身份证验证:"\d{17}[\d|X]|\d{15}"
电话号码验证:"\(\d{3}\)|\d{3}-)?\d{8}"
电子邮箱验证:"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
网站地址验证:"http(s)?://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?"
IP地址验证:"((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))"
通过常用验证控件我们可以更高效率的开发系统,使用合适的控件更高效率的开发。