RegularExpressionValidator控件表达式说明:
方括号“[ ]”用与定义可接受的字符。[abc123] 表示控件只能接受 a,b,c,1,2,3 这6个字符;
反集合符号 “ ^ ”用于定义不可以接受的字符。[^a-h] 表示控件除了 a 到 h 8个字符外,都可以接受;
花括号“{ }”定义必须输入的字符个数。{6}表示只能输入6个字符 ; {6,}表示必须输入6个以上,无上限 ; {2,6} 表示必须输入2至6个字符;但是花括号必须放在方括号后面,例如 [a-z]{4} 表示必须输入 4位a和z之间的任意字符。
小圆点 “ . ” 用于代表任意字符。 例如 .{3,6}表示接受3到6个任意字符。
竖线 “ | ” 用于表示 “或”的逻辑符号。例如 [1-9]{3,6}|[A-Za-z]{3} 表示可以接受 3到6个数字或者 3个字母。 (大小写都可以区别的哦)
小括号“ () ” 用于分块,与数字运算中的小括号作用类似。
斜线 “ \\ ” 若希望可以接受的字符包含上述特殊字符。例如 \\([0-9]{3}\\),表示输入格式为“(xxx)”的电话区号。
代码演示:
<%@ Page Language=\"VB\" ContentType=\"text/html\" ResponseEncoding=\"gb2312\" %>
<head>
<title>validation验证控件</title>
</head>
<body>
<form runat=\"server\">
<p>输入姓名 :
<asp:TextBox ID=\"nam\" Text=\"姓名\" TextMode=\"SingleLine\" runat=\"server\" /> <asp:RequiredFieldValidator ControlToValidate=\"nam\" Display=\"Dynamic\" ErrorMessage=\"必须输入姓名\" ID=\"rnam\" runat=\"server\" /></p>
<p>输入日期 :
<asp:TextBox ID=\"dat\" Text=\"日期\" TextMode=\"SingleLine\" runat=\"server\" /> <asp:CompareValidator ControlToValidate=\"dat\" Display=\"Dynamic\" ErrorMessage=\"日期的正确格式是 yyyy-mm-dd\" ID=\"rdat\" Operator=\"DataTypeCheck\" runat=\"server\" Type=\"Date\" /> </p>
<p>输入数值(整数) :
<asp:TextBox ID=\"type\" Text=\"数值\" TextMode=\"SingleLine\" runat=\"server\" /> <asp:CompareValidator ControlToValidate=\"type\" Display=\"Dynamic\" ErrorMessage=\"你输入的不是一个整数\" ID=\"rtype\" Operator=\"DataTypeCheck\" runat=\"server\" Type=\"Integer\" /> </p>
<p>输入数字(1-10) :
<asp:TextBox ID=\"num\" Text=\"数值\" TextMode=\"SingleLine\" runat=\"server\" /> <asp:RangeValidator ControlToValidate=\"num\" Display=\"Dynamic\" ErrorMessage=\"只能是1-10之间的数\" ID=\"rnum\" Type=\"Integer\" MaximumValue=\"10\" MinimumValue=\"1\" runat=\"server\" /> </p>
<p>请输入一个小于50的数 :
<asp:TextBox ID=\"num5\" Text=\"小于50的\" TextMode=\"SingleLine\" runat=\"server\" />
<asp:CompareValidator ControlToValidate=\"num5\" Display=\"Dynamic\" ErrorMessage=\"你输入的数不小于50\" ID=\"rnum5\" Operator=\"LessThan\" runat=\"server\" Type=\"Integer\" ValueToCompare=\"50\" /></p>
<p>随便输入一个email :
<asp:TextBox ID=\"eml\" Text=\"email\" TextMode=\"SingleLine\" runat=\"server\" />
<asp:RegularExpressionValidator ControlToValidate=\"eml\" Display=\"Dynamic\" ErrorMessage=\"应该是3-6任意字符@2-9位任意字符.2-3位任意字符\" ID=\"reml\" runat=\"server\" ValidationExpression=\".{3,6}@.{2,9}\\..{2,3}\" />
<asp:ValidationSummary DisplayMode=\"List\" HeaderText=\"错误信息集合\" ID=\"tt\" runat=\"server\" /></p>
<p>
<asp:Button ID=\"But\" Text=\"提交\" runat=\"server\" /> </p>
</p>
</form>
</body>
</html>