ValidationExpression 验证规则
-- 正则表达式
ValidationExpression 验证规则
其中ValidationExpression 验证规则属性为限制数据所输入的叙述,其常用符号如下表所示:
符号 说明
[] 用来定义单一字符的内容。
{} 用来定义需输入的字符个数。
. 表示任意字符。
* 表示最少可以不输入,最多到无限多个字符。
+ 表示最少输入1 个字符,最多到无限多个字符。
[^...] 表示不包含的字符。
[] 符号
「[]」 符号可以用来定义接受的单一字符,例如:
[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)」才符合验证规则。
其中ValidationExpression 验证规则属性为限制数据所输入的叙述,其常用符号如下表所示:
符号 说明
[] 用来定义单一字符的内容。
{} 用来定义需输入的字符个数。
. 表示任意字符。
* 表示最少可以不输入,最多到无限多个字符。
+ 表示最少输入1 个字符,最多到无限多个字符。
[^...] 表示不包含的字符。
[] 符号
「[]」 符号可以用来定义接受的单一字符,例如:
[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)」才符合验证规则。