regularexpressionvalidator有两种主要的属性来进行有效性验证。controltovalidate 包含了一个值进行验证。如取出文本框中的值。如controltovalidate=”textbox1″ validationexpression 包含了一个正则表达式进行验证。
好了,有了上面的叙述,我们就举个例子来说明正则表达式。比如,我们想要对用户输入的电子邮件进行校验,那么,什么样的数据才算是一个合法的电子邮件呢?我可以这样输入:test@yesky.com,当然我也会这样输入:xxx@yyy.com.cn,但是这样的输入就是非法的:xxx@@com.cn或者@xxx.com.cn,等等,所以我们得出一个合法的电子邮件地址至少应当满足以下几个条件:
1. 必须包含一个并且只有一个符号“@”
2. 第一个字符不得是“@”或者“.”
3. 不允许出现“@.”或者.@
4. 结尾不得是字符“@”或者“.”
所以根据以上的原则和上面表中的语法,我们很容易的就可以得到需要的模板如下:”= “^\w+((-\w+)|(\.\w+))*\@[a-za-z0-9]+((\.|-)[a-za-z0-9]+)*\.[a-za-z0-9]+$”
请看validata6.aspx的内容:
<!–源文件:form\web页面简介\validate6.aspx–>
</head>
<body>
<center><h3><font face=”verdana”>使用正则表达式验证</font></h3></center>
<p>
<form runat=”server”>
<center>
<title>使用正则表达式验证</title>
<table bgcolor=”#eeeeee” cellpadding=10>
<tr valign=”top”>
<td colspan=3>
<asp:label id=”lbloutput” text=”输入e-mail地址” font-name=”verdana” font-size=”10pt” runat=”server”/>
</td>
</tr>
<tr>
<td align=right>
<font face=verdana size=2>e-mail:</font>
</td>
<td>
<asp:textbox id=textbox1 runat=server />
</td>
<td>
<asp:regularexpressionvalidator id=”regularexpressionvalidator1″ runat=”server”
controltovalidate=”textbox1″
validationexpression=”^\w+((-\w+)|(\.\w+))*\@[a-za-z0-9]+((\.|-)[a-za-z0-9]+)*\.[a-za-z0-9]+$”
display=”static”
font-name=”verdana”
font-size=”10pt”>
请输入有效的e-mail地址!
</asp:regularexpressionvalidator>
</td>
</tr>
<tr>
<td></td>
<td>
<asp:button text=”验证” onclick=”validatebtn_click” runat=server />
</td>
<td></td>
</tr>
</table>
</center>
</form>
</body>
</html>
这样,我们只要定制不同的模板,就可以实现对不同数据的合法性校验了。所以,正则表达式对象中最重要的属性就是:“pattern”属性,只要真正掌握了这个属性,才可以自由的运用正则表达式对象来为我们的数据校验进行服务。
程序的运行效果如图:
通过上面的介绍,我们对数据验证的方法有了一定的认识。在下面的内容中,我们还将通过更具体的实例,来对数据的有效性验证进行讲解。