RegularExpressionValidator Web 控件可以用来执行更详细的验证,也就是说可以做更细微的限制。其使用语法为:
-、”^”头匹配
^front表示以”front”开头的字符串。
二、”$”尾匹配
tail$表示以”tail”结尾的字符串。
三、转义序列
所有转义序列都用”/”打头。如”^”、”$”、”+”、”(“、”)”在表达式中都有特殊意义,所以在正则表达式中也用”/^”、”/$”、”/+”、”/(“、”/)”来表示。
四、字符簇
[a-z]匹配小写字符;[A-Z]匹配写字符;[a-zA-Z]匹配所有字符;[0-9]匹配所有数字;[/./-/+]匹配所有句号,减号和加号;[^a-z]除了小写字母以外的成有字符;^[^a-z]第一个字符不能是小写字母;[^0-9]除了数字以外的所有字符;
五、重复
^a{4}$表示aaaa;^a{2,4}表示aa,aaa或aaaa;^a{2,}表示多于两个a的字符串;.{2}表示所有的两个字符;
下面举两个常用例子说明:
1、Email的验证
要求:
(1)必须包含一个”@”
(2)在”@”后面的字符串至少包含一个”.”号
(3)”@”前面和后面的字符串由一个或一个以上字母、数字、下划线或减号构成
根据这几条规则,可以与出以下正则表达式:
^[a-zA-Z0-9_/-]{1,}@[a-zA-Z0-9_/-]{1,}/.[a-zA-Z0-9_/-.]{1,}$
或者:
/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*
2、电话号码的验证
要求:
(1)电话号码由数字、”(“、”)”和”-“构成
(2)电话号码为3到8位
(3)如果电话号码中包含有区号,那么区号为三位或四位
(4)区号用”(“、”)”或”-“和其他部分隔开
(5)移动电话号码为11或12位,如果为12位,那么第一位为0
(6)11位移动电话号码的第一位和第二位为”13″
(7)12位移动电话号码的第二位和第三位为”13″
根据这几条规则,可以与出以下正则表达式:
(^[0-9]{3,4}/-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^/([0-9]{3,4}/)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)
<ASP:RegularExpressionValidator
Id=”被程序代码所控制的名称”
Runat=”Server”
ControlToValidate=”要验证的控件名称”
ValidationExpression=”验证规则”
ErrorMessage=”所要显示的错误信息”
Text=”未通过验证时所显示的讯息”
/>
其常用属性说明如下表所示:
ValidationExpression 验证规则
其中ValidationExpression 验证规则属性为限制数据所输入的叙述,其常用符号如下表所示:
[] 符号
「[]」符号可以用来定义接受的单一字符,例如:
[a-zA-Z] 只接受a-z 或是A-Z 的英文字符。
[x-zX-Z] 只接收小写的x-z 或大写的X-Z。
[win] 只接收w、i、n 的英文字母。
[^linux] 除了l、i、n、u、x 之外的英文字母都接收。
{} 符号
「{}」符号可以用来表示接收多少字符,例如:
[a-zA-Z]{4} 表示接受只接收四个字符。
[a-z]{4} 表示只接收共四个a-z 小写字符。
[a-zA-Z]{4,6} 表示最少接受四个字符,最多接受六个字符。
[a-zA-Z]{4,} 表示最少接受四个字符,最多不限制。
.符号
「.」符号可以用来表示接收除了空白外的任意字符,例如:
.{4} 表示接收四个除了空白外的任意字符。
*符号
「*」符号表示最少0 个符合,最多到无限多个字符。例如:
[a-zA-Z]* 表示不限制数目,接受a-z 或A-Z 的字符,也可以不输入。
+符号
「+」符号表示最少1 个符合,最多到无限多个字符。例如:
[a-zA-Z]+ 表示不限制数目,接受a-z 或A-Z 的字符,但是至少输入一个字符。
下列范例限制使用者输入的账号,必需要以英文字母为开头,而且最少要输入四个字符,最多可输入八个字符:
<Html>
<Form Id=”Form1″ Runat=”Server”>
账号: <ASP:TextBox Id=”txtId” Runat=”Server”/>
<ASP:RegularExpressionValidator Id=”Validor1″ Runat=”Server”
ControlToValidate=”txtId”
ValidationExpression=”[a-zA-Z]{4,8}”
Text=”错误!”/><br>
<ASP:Button Id=”btnOK” Text=”确定” OnClick=”btnOK_Click”
Runat=”Server”/>
<ASP:Label Id=”lblMsg” Runat=”Server”/>
</Form>
<Script Language=”VB” Runat=”Server”>
Sub btnOK_Click(Sender As Object,e As EventArgs)
If Page.IsValid Then
lblMsg.Text=”验证成功!”
End If
End Sub
</Script>
</Html>
下列程序代码片段限制使用者输入的电子邮件信箱,必须是包含「@」:
<ASP:RegularExpressionValidator Id=”Validor1″ Runat=”Server”
ControlToValidate=”txtEmail”
ValidationExpression=”.+@.+”
Text=”错误!”/>
下列程序代码片段限制使用者输入的电话号码,必须要依使用习惯输入分隔线:
<ASP:RegularExpressionValidator Id=”Validor1″ Runat=”Server”
ControlToValidate=”txtTel”
ValidationExpression=”[0-9]{2,4}-[0-9]{3,4}-[0-9]{3,4}”
Text=”错误!”/>
使用者输入0800-006-089 或0912-345-678 或02-2311-8765 都可以接受。
|符号
如 果我们想要限制使用者的输入,只要符合两个规则的其中一个即接受,可以使用「|」符号。「|」符号表示或的意思,例如使用者只要输入全部四个数值或是全部 四个字母都接受的话,验证规则可以写成[a-zA-Z]{4} | [0-9]{4};表示四个所输入的数据如果不是全部都数值或是全部都英文字符则不正确。和把验证规则设定成[a-zA-Z0-9]{4}的结果和不一 样,这样表示任何四个混杂四个大小写字符或数值的数据都接受。
符号
由 于「()」、「[]」、「{}」或是「|」这些符号在验证叙述中有特定的意义,所以如果所要执行验证的字符如果包含这些符号,必需在这些符号前面加上符号 「」。例如验证叙述为「([0-9]{2,3})」,表示所输入的数据必需为「(02)」或是「(035)」才符合验证规则
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/36269.html