原文: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. List subList()的一个demo

    只要保证toIndex不大于size并且fromIndex不大于toIndex即可(谁会传一个负数的下标呢?) public List<E> subList(int fromIndex, ...

  2. 怎么样ubuntu 64 11.04 在执行32位程序

    上网一查非常多的信息,头发上的今天ubuntu 64 11.04 在执行32位程序安装ia32-libs包,可执行例如,下面的命令.但提示无法安装 apt-get install ia32-libs ...

  3. 三种字符编码:ASCII、Unicode和UTF-8

    原文:三种字符编码:ASCII.Unicode和UTF-8 什么是字符编码? 计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字 ...

  4. android内置存储器memory和第三方外部存储disk管理

    缓存管理这里 http://blog.csdn.net/intbird/article/details/38338713 图片处理在这里 http://blog.csdn.net/intbird/ar ...

  5. 【LeetCode】Algorithms 题集(三)

    Search Insert Position 意: Given a sorted array and a target value, return the index if the target is ...

  6. UVA 11174 Stand in a Line 树dp+算

    主题链接:点击打开链接 题意:白书的P103. 加个虚根就能够了...然后就是一个多重集排列. import java.io.PrintWriter; import java.util.ArrayLi ...

  7. HDOJ 3966 Aragorn&#39;s Story

    树链拆分+树阵 (进入坑....) Aragorn's Story Time Limit: 10000/3000 MS (Java/Others)    Memory Limit: 32768/327 ...

  8. response的contentType 几种类型

    ajax开发中在请求server端的响应时, 对于每一种返回类型 规范的做法是要在服务端指定response的contentType 的. (当然 不指定绝大多数情况下也没什么问题 尤其是返回&quo ...

  9. 如何获得android手机通讯录的字母显示(两)

    随后的写如何使各第一字母显示相同的分类触点: 于adapter implement SectionIndexer 这项adapter必须在下面可以实现3接口: @Override public Obj ...

  10. JavaScript之函数作用域

    有过类似C语言编程经验的同学应该都知道“块级作用域(block scope)”:花括号内的每一段代码都具有各自的作用域,而且在声明它们的代码段之外是不可见的.而在JavaScript中是没有块级作用域 ...