一、用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 = "验证失败!";
*注意: RegularExpressionValidator不对空值进行验证,对于空值要用RequiredFieldValidator
常用正则表达式
功能 |
正则表达式 |
说明 |
用户名 |
[\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的任意字符 |
小数 |
^(-?\d+)(\.\d+)?$
^(-?\d+)(\.\d{0,2})?$ |
不限小数位
限两位小数 |
|