王骏的BLOG
编程、网络技术点滴...
<2006年1月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234
公告

留言簿(24)

随笔分类

随笔档案

文章分类

文章档案

相册

WEB开发

相关链接

搜索

最新评论

阅读排行榜

评论排行榜

 
VC知识库BLOG   首页  新随笔  联系  聚合  登录 
  随笔-61 文章-5 评论-247 Trackbacks-0

一、用RequiredFieldValidator验证必输项
比如有一个TextBox要求输入用户名userid,将RequiredFieldValidator放置在页面上后,修改验证控件的属性ControlToValidate设置为userid,在ErrorMessage中输入错误信息就可以了。

二、用CompareValidator验证相同项
有两个密码输入框password1,password2,要求两次密码输入必须相同。将CompareValidator放置在页面后,修改属性ControlToValidate为password1,
ControlToCompare指定比较的控件password2,在ErrorMessage中输入错误信息。

三、用RegularExpressionValidator进行正则表达式验证
以userid为例,加入RegularExpressionValidator控件后,修改其属性ControlToValidate为userid,ValidationExpression为正则表达式,ErrorMessage中输入错误信息。

四、判断本页的验证是否全部通过
if(Page.IsValid)
 MessageLabel.Text = "验证成功!";
else
 MessageLabel.Text = "验证失败!";

常用正则表达式

功能 正则表达式 说明
用户名 [\w\-]{3,12} 3-12个字符(包括英文字母、数字、'-'、'_')
密码 [\x21-\x7E]{3,8} 3-8个常用字符(0x21到0x7E)
年龄 1[0-2]\d|\d{1,2} 最大129岁
日期 (19|20)\d{2}[/\s\-\.]*(0[1-9]|1[0-2]|[1-9])[/\s\-\.]*(0[1-9]|3[01]|[12][0-9]|[1-9]) 不含时间的日期,没有处理2月29日的情况
(19|20)\d{2}[/\s\-\.]*(0[1-9]|1[0-2]|[1-9])[/\s\-\.]*(0[1-9]|3[01]|[12][0-9]|[1-9])([\s]*(2[0-3]|[01]?\d)(:[0-5]?\d){0,2})? 允许包含时间的日期
时间 (2[0-3]|[01]?\d)(:[0-5]\d){0,2} 不包含日期
(19|20)\d{2}[/\s\-\.]*(0[1-9]|1[0-2]|[1-9])[/\s\-\.]*(0[1-9]|3[01]|[12][0-9]|[1-9])[\s]*(2[0-3]|[01]?\d)(:[0-5]\d){0,2} 必须含日期的时间
身份证 \d{18}|\d{15} 15个或18个数字
邮件 \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*  
网址 http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)? 只处理了http
金额 ^(-?\d+)(\.\d{0,2})?$
或者 \d+[\.]?\d{0,2}
允许输入含"."的数字,小数点后最多两位
电话 (\(?\d{3,4}\)?)?[\s-]?\d{7,8}[\s-]?\d{0,4} 兼容固话和手机,支持区号、"-"和分机   
中文姓名 [\u3000-\u9FA5\x20]{2,4} 长度2-4,允许全角和半角空格
任意字串 ^.{1,16} 长度1-16的任意字符
posted on 2006-01-02 21:04 王骏的BLOG 阅读(1002) 评论(0)  编辑 收藏
Comments
标题  
姓名  
主页
验证码 *
内容   
  登录  使用高级评论  Top
[使用Ctrl+Enter键可以直接提交]