原文: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. Nio学习4——EchoServer在IO,NIO,NIO.2中的实现

    堵塞IO实现: public class PlainEchoServer { public void serve(int port) throws IOException { final Server ...

  2. Linux下find命令具体解释

    1. find命令 linux的find命令用来查找文件,功能非常强大, 能够通过时间, 用户组, 文件名称, 文件类型, 权限,大小等来查找对应文件. 2. find的使用方法 通过find --h ...

  3. git常用命令学习(转)

    一.Bug分支 1,假设如下场景,你正在dev分支工作,突然接到一个修复代号为101的bug的任务时,dev的东西还没不能提交,但是bug需要马上修复. Git提供了一个stash功能,可以把当前工作 ...

  4. C# WinForm中实现CheckBox全选反选功能

    今天一群里有人问到这个功能,其实应该挺简单,但提问题的人问题的出发点并没有描述清楚.因此,一个简简单单的需求,就引起了群内热烈的讨论.下面看看这个功能如何去实现,先上效果: 下面直接上代码,请不要在意 ...

  5. DFT 展开式和 FFT推导

    C语言的FFT //---------------------------------------------------------------------------------- //----- ...

  6. BestCoder-Round#33

    写在前面 这是我第一次做BestCoder, 熟悉的外观BestCoder模式. BC上不仅能看到英文, 背部Chinese view是中文题目 交的次数是会影响得分的. 所以有了把握再交. 至少例子 ...

  7. 我的MYSQL学习心得(二)

    原文:我的MYSQL学习心得(二) 我的MYSQL学习心得(二) 我的MYSQL学习心得(一) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYSQL学习心得(五) 我的MYSQL ...

  8. Android而一个超级漂亮的日历控件

    ※效果 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGluZ2xvbmd4aW4yNA==/font/5a6L5L2T/fontsize/400/fil ...

  9. Android 内存管理 &amp;Memory Leak &amp; OOM 分析

    1.Android 流程管理&内存 Android主要应用在嵌入式设备其中.而嵌入式设备因为一些众所周知的条件限制,通常都不会有非常高的配置,特别是内存是比較有限的. 假设我们编写的代 码其中 ...

  10. 快捷键让SublimeText在编文件快速在浏览器打开

    这里插入一下安装"view in browser"官方版的说明:(前提是得先安装package control插件) 1.通过"ctrl+shift+p"打开命 ...