原文:RegularExpressionValidator控件

★搜Asp.net★(www.soAsp.net),为专业技术文档网站。
包括Asp.net开发技术文档·C#开发技术文档·Access/SQL Server数据库开发技术文档·VB.NET开发技术文档。
还包括·项目实战经验总结·开发经验技巧总结·项目开发心得。
RegularExpressionValidator控件

1.功能

RegularExpressionValidator控件用于检查输入控件是否与指定的正则表达式的值相匹配。验证类型可以检查各种数字是否正确、输入的字符串位数、输入日期格式和电话号码等等。

2.  属性

RegularExpressionValidator控件部分常用属性及说明如表1所示。

表1 RegularExpressionValidator控件最常用的属性

属性

描述

ControlToValidate

该属性获取或设置要验证的输入控件

Display

该属性获取或设置验证控件中错误信息的显示行为

ErrorMessage

该属性获取或设置验证失败时 ValidationSummary 控件中显示的错误信息的文本

Text

该属性获取或设置验证失败时验证控件中显示的文本

ValidationExpression

该属性获取或设置确定字段验证模式的正则表达式

RegularExpressionValidator控件的部分属性与RequiredFieldValidator控件的属性基本相同。下面介绍RegularExpressionValidator控件特有的属性,ValidationExpression属性。

该属性获取或设置被指定为验证条件的正则表达式。默认值为空字符串("")。

语法:

public string ValidationExpression { get; set; }

属性值;被指定为验证条件的正则表达式。

常用的正则表达式字符及其含义如表2所示。

表2 常用正则表达式字符及其含义

正则表达式字符

描述

[……]

匹配括号中的任何一个字符

[^……]

匹配不在括号中的任何一个字符

\w

匹配任何一个字符(a~z、A~Z和0~9)

\W

匹配任何一个空白字符

\s

匹配任何一个非空白字符

\S

与任何非单词字符匹配

\d

匹配任何一个数字(0~9)

\D

匹配任何一个非数字(^0~9)

[\b]

匹配一个退格键字母

{n,m}

最少匹配前面表达式n次,最大为m次

{n,}

最少匹配前面表达式n次

{n}

恰恰匹配前面表达式为n次

?

匹配前面表达式0或1次{0,1}

+

至少匹配前面表达式1次{1,}

*

至少匹配前面表达式0次{0,}

|

匹配前面表达式或后面表达式

(…)

在单元中组合项目

^

匹配字符串的开头

$

匹配字符串的结尾

\b

匹配字符边界

\B

匹配非字符边界的某个位置

下面再来列举几个常用的正则表达式。

  • 验证电子邮件:

\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
  • 验证网址:

HTTP://\S+\.\S+
  • 验证邮政编码:

\d{6}
  • [0-9]:表示0~9十个数字。
  • \d*:表示任意个数字。
  • \d{3,4}-\d{7,8}:表示中国大陆的固定电话号码。
  • \d{2}-\d{5}:验证由两位数字、一个连字符再加5位数字组成的ID号。
  • <\s*(\S+)(\s[^>]*)?>[\s\S]*<\s*\/\l\s*>:匹配HTML标记。
  • 身份证:\d{17}[\d|X]|\d{15}

示例  ValidationExpression属性设置

本例实现的是,设置RegularExpressionValidator控件的ValidationExpression属性来验证文本框中输入的Email格式是否正确。

代码如下。

  protected void Page_Load(object sender, EventArgs e)
    {
      this.RegularExpressionValidator1.ControlToValidate = "txtEmail";//在验证控件的ID
        this.RegularExpressionValidator1.ErrorMessage = "邮箱格式不正确";
        this.RegularExpressionValidator1.ValidationExpression = "\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Write("<script>alert('密码已发送到邮箱,请注意查收')</script>");
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        Response.Write("<script>window.close();</script>");
    }

3. 典型实例

例1 验证URL

本例使用RegularExpressionValidator控件和正则表达式验证输入的网址是否正确。运行本实例,在文本框中输入http:///soasp错误网址,然后单击“验证”按钮。

代码如下。

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TextBox1" 
   ErrorMessage="URL地址输入不正确!" ValidationExpression='http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?'></asp:RegularExpressionValidator> 
   <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" 
   ErrorMessage="URL地址输入不能为空!">
</asp:RequiredFieldValidator>

例2  验证手机号码

本例实现了使用RegularExpressionValidator控件和正则表达式验证手机号码的格式是否正确。运行本实例,在文本框中输入错误的手机号码格式,单击“验证”按钮。

主要代码如下。

<table>
 <tr>
   <td>              
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1"
                        ErrorMessage="手机号输入不能为空!" Width="161px"></asp:RequiredFieldValidator></td>
                <td>
                    <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TextBox1"  ErrorMessage="手机号输入错误!" ValidationExpression="^[1]+[3,5]+\d{9}"></asp:RegularExpressionValidator>
   </td>
 </tr>
</table>

RegularExpressionValidator控件的更多相关文章

  1. ASP.Net 验证控件 RegularExpressionValidator

    定义和用法 RegularExpressionValidator 控件用于验证输入值是否匹配指定的模式. 注释:除非浏览器不支持客户端验证或 EnableClientScript 属性被设置为 fal ...

  2. asp.net中验证控件的使用方法

    用于检查是否有输入值 :RequiredFieldValidator(必须字段验证) 按设定比较两个输入 :CompareValidator(比较验证) 输入是否在指定范围 :RangeValidat ...

  3. ASP.NET开发中主要的字符验证方法-JS验证、正则表达式、验证控件、后台验证

    ASP.NET开发中主要的字符验证方法-JS验证.正则表达式.验证控件.后台验证 2012年03月19日 星期一 下午 8:53 在ASP.NET开发中主要的验证方法收藏 <1>使用JS验 ...

  4. ASP.NET验证控件二

    RequiredFieldValidator 验证控件 页面布局: <div> <h1>RequiredFieldValidator 验证控件</h1>   用户名 ...

  5. ASP.NET验证控件一

    为了更好地创建交互式Web应用程序.加强应用程序安全性,程序开发人员应该对用户输入的内容进行验证. ASP.NET提供了一系列输入验证控件,使用这些控件用户可以很方便地实现输入验证. ASP.NET还 ...

  6. 【ASP.NET】验证控件

    在软件开发中,验证输入信息是否正确,这是不可缺少的一项工作.就拿我们做过的机房收费系统来说,在登录的时候,我们须要对username和用户password进行验证.推断是否为空,推断输入字符是否合理等 ...

  7. 初识 Asp.Net数据验证控件

    在我们建立一个Asp.Net Web应用程序的时候我一般都会注意我们工具如图

  8. 17Web服务器端控件

    Web服务器端控件 Web服务器端控件 ASP.Net提供了两类服务器端控件:Html服务器端控件和Web服务器端控件.由于Web服务器端控件功能更强大,和Windows应用程序的控件使用方法类似,容 ...

  9. C#验证控件使用方法及常用正则表达式例析(转)

    ASP.NET为开发人员提供了一整套完整的服务器控件来验证用户输入的信息是否有效.这些控件如下: 1.RequiredFieldValidator:验证一个必填字段,如果这个字段没填,那么,将不能提交 ...

随机推荐

  1. [WebView其中一项研究]:Web Apps基本介绍

    今天,我们开始了解WebView,以及Web Apps发展,从主要内容Android实际的例子来解释正式文件和后续. (博客地址:http://blog.csdn.net/developer_jian ...

  2. OAuth打造webapi认证服务

    使用OAuth打造webapi认证服务供自己的客户端使用 一.什么是OAuth OAuth是一个关于授权(Authorization)的开放网络标准,目前的版本是2.0版.注意是Authorizati ...

  3. sgu128snack

    按我的理解大概说下题意: 有非常多个点,最多一万个,告诉你它们的坐标.如今须要构造一条闭合线.这个闭合线满足下面六点: 1必须是闭合的. 2必须用到全部的点. 3构造的线段之间若成角,则必须是90度. ...

  4. NET 中的多线程

    NET 中的多线程 为什么使用多线程 使用户界面能够随时相应用户输入 当某个应用程序在进行大量运算时候,为了保证应用程序能够随时相应客户的输入,这个时候我们往往需要让大量运算和相应用户输入这两个行为在 ...

  5. 如何有效抓取SQL Server的BLOCKING信息

    原文:如何有效抓取SQL Server的BLOCKING信息 转自:微软亚太区数据库技术支持组 官方博客 http://blogs.msdn.com/b/apgcdsd/archive/2011/12 ...

  6. Mozilla5.0的含义

    mod=viewthread&tid=757008">http://www.lightnovel.cn/forum.php?mod=viewthread&tid=757 ...

  7. 对于超大型SQL SERVER数据库执行DBCC操作

    原文:对于超大型SQL SERVER数据库执行DBCC操作 对于数据库维护,主要使用DBCC CHECKDB来实现,以下是对大型数据库的使用说明,小型数据库一般直接使用就可以了: 1.2008(200 ...

  8. 《STL源代码分析》---stl_heap.h读书笔记

    Heap堆的数据结构是经常使用,Heap它还能够存储元件的.但STL并且不提供Heap集装箱.仅仅提供信息Heap算术运算.只支持RandomAccessIterator该容器可以被用作Heap集装箱 ...

  9. 续x奇数倍(n+2*x)暴力算法是冠军的算法结合数量

    // 续6单a,a+2,a+4,a+6,a+8,a+10是共同的数.最低要求a // 暴力解决方案 首先对结果,后面将代码粘贴: 1次连续n=9,连续值个数: 1;耗时: 0ms,总计: 0ms 2次 ...

  10. InstallShield自定义安装界面

    原文:InstallShield自定义安装界面 版权声明: 可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息. 前言: 对于一些InstallShield用户或企业,对于安装包界面除了 ...