首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

3.5  使用RegularExpressionValidator控件

RegularExpressionValidator控件用于把表单字段的值和正则表达式进行比较。正则表达式可用于表示字符串模式,比如电子邮件地址、社会保障号、电话号码、日期、货币数和产品编码。

例如,代码清单3-13中的页面可用于验证电子邮件地址(见图3-11)。

代码清单3-13  ShowRegularExpressionValidator.aspx

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head id="Head1" runat="server">

    <title>Show RegularExpressionValidator</title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

   

    <asp:Label 

        id="lblEmail"

        Text="Email Address:"

        AssociatedControlID="txtEmail"

        Runat="server" />

    <asp:TextBox

        id="txtEmail"

        Runat="server" />

    <asp:RegularExpressionValidator

        id="regEmail"

        ControlToValidate="txtEmail"

        Text="(Invalid email)"

        ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"

        Runat="server" />   

   

    <br /><br />

   

    <asp:Button

        id="btnSubmit"

        Text="Submit"

        Runat="server" />

   

    </div>

    </form>

</body>

</html>

图3-11  验证电子邮件地址

像下面这样的正则表达式被赋值给RegularExpressionValidator控件的ValidationExpression属性:

\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

正则表达式阅读起来比较无味。该模式匹配简单的电子邮件地址。\w表达式表示任何非空白字符,因此,这个表达式模糊匹配包含了非空白字符的电子邮件地址,接下来是一个@符号,接下来是非空白字符,接下来是句号,接下来又是非空白字符。

注解   因特网上存在着数量巨大的正则表达式,找到好的正则表达式模式的最容易途径是在Google上搜索一下。

像其他验证控件一样,RegularExpressionValidator不会验证没有值的表单字段。要使表单字段必填,必须为表单字段关联RequiredFieldValidator控件。

Developer
注解

 
Visual Web 在设计视图中打开RegularExpressionValidator的属性窗口,选择ValidationExpression属性,可以看到一些可复用的正则表达式。Visual Web Developer内置了一些正则表达式模式,比如电子邮件地址、电话号码、社会保障号。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论