原文: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. Spark Executor Driver资源调度汇总

    一.简介 于Worker Actor于,每次LaunchExecutor这将创建一个CoarseGrainedExecutorBackend流程.Executor和CoarseGrainedExecu ...

  2. 微信oauth获取用户的信息页面授权

    參考链接(请在微信client中打开此链接体验) Scope为snsapi_base https://open.weixin.qq.com/connect/oauth2/authorize?appid ...

  3. 【转】Oracle Outline使用方法及注意事项

    概要  Oracle Outline是用来保持SQL运行计划(execution plan)的一个工具. 我们能够通过outline工具防止SQL运行计划在数据库环境变更(如统计信息,部分參数等)而引 ...

  4. 浅析pinyin4j源码 简单利用pinyin4j对中文字符进行自然排序(转)

    pinyin4j项目  官网地址 http://pinyin4j.sourceforge.net/ 我们先把资源下载下来,连同源码和jar包一起放入工程.如下图: 接下来在demo包下,我们写一个测试 ...

  5. Java在的时候,类定义HashSet初始化方法

    Java非常多的时间,应使用HashSet搜索功能,类的则定义,是HashSet类型的,我们定义数据成员之后,不好直接调用add函数来实现初始化,这个时候怎么办? 我们能够这样来做: public s ...

  6. 在CentOS 7上安装phpMyAdmin

    原文 在CentOS 7上安装phpMyAdmin phpMyAdmin是一款以PHP为基础,基于Web的MySQL/MariaDB数据库管理工具.虽然已经存在着一些诸如Adminer的轻量级数据库管 ...

  7. c++界面设计皮肤工具

    1. 先进行软件界面设计,确定软件界面美术包装方案 2. 依据软件界面美术设计装方案制作对应的图片,图片格式请參见AUDK的帮助文档或皮肤工具SkinTool 的 Demo 3. 打开皮肤工具 Ski ...

  8. JavaScript之对象序列化详解

    一.什么是对象序列化? 对象序列化是指将对象的状态转换为字符串(来自我这菜鸟的理解,好像有些书上也是这么说的,浅显易懂!): 序列化(Serialization)是将对象的状态信息转换为可以存储或传输 ...

  9. 使用 CodeIgniter 框架快速开发 PHP 应用(三)

    原文:使用 CodeIgniter 框架快速开发 PHP 应用(三) 分析网站结构既然我们已经安装 CI ,我们开始了解它如何工作.读者已经知道 CI 实现了MVC式样. 通过对目录和文件的内容进行分 ...

  10. 现代JVM内存管理方法的发展历程,GC的实现及相关设计概述(转)

    JVM区域总体分两类,heap区和非heap区.heap区又分:Eden Space(伊甸园).Survivor Space(幸存者区).Tenured Gen(老年代-养老区). 非heap区又分: ...