本文介紹asp.net中RegularExpressionValidator控件中的幾種特殊字符串使用規(guī)則,并做了代碼演示,希望對(duì)大家有所幫助。
RegularExpressionValidator控件表達(dá)式說(shuō)明:
方括號(hào)“[ ]”用與定義可接受的字符。[abc123] 表示控件只能接受 a,b,c,1,2,3 這6個(gè)字符;
反集合符號(hào) “ ^ ”用于定義不可以接受的字符。[^a-h] 表示控件除了 a 到 h 8個(gè)字符外,都可以接受;
花括號(hào)“{ }”定義必須輸入的字符個(gè)數(shù)。{6}表示只能輸入6個(gè)字符 ; {6,}表示必須輸入6個(gè)以上,無(wú)上限 ; {2,6} 表示必須輸入2至6個(gè)字符;但是花括號(hào)必須放在方括號(hào)后面,例如 [a-z]{4} 表示必須輸入 4位a和z之間的任意字符。
小圓點(diǎn) “ . ” 用于代表任意字符。 例如 .{3,6}表示接受3到6個(gè)任意字符。
豎線 “ | ” 用于表示 “或”的邏輯符號(hào)。例如 [1-9]{3,6}|[A-Za-z]{3} 表示可以接受 3到6個(gè)數(shù)字或者 3個(gè)字母。 (大小寫(xiě)都可以區(qū)別的哦)
小括號(hào)“ () ” 用于分塊,與數(shù)字運(yùn)算中的小括號(hào)作用類(lèi)似。
斜線 “ \ ” 若希望可以接受的字符包含上述特殊字符。例如 \([0-9]{3}\),表示輸入格式為“(xxx)”的電話區(qū)號(hào)。
代碼演示:
代碼如下:
<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="gb2312" %>
<head>
<title>validation驗(yàn)證控件</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>輸入數(shù)值(整數(shù)) :
<asp:TextBox ID="type" Text="數(shù)值" TextMode="SingleLine" runat="server" /> <asp:CompareValidator ControlToValidate="type" Display="Dynamic" ErrorMessage="你輸入的不是一個(gè)整數(shù)" ID="rtype" Operator="DataTypeCheck" runat="server" Type="Integer" /> </p>
<p>輸入數(shù)字(1-10) :
<asp:TextBox ID="num" Text="數(shù)值" TextMode="SingleLine" runat="server" /> <asp:RangeValidator ControlToValidate="num" Display="Dynamic" ErrorMessage="只能是1-10之間的數(shù)" ID="rnum" Type="Integer" MaximumValue="10" MinimumValue="1" runat="server" /> </p>
<p>請(qǐng)輸入一個(gè)小于50的數(shù) :
<asp:TextBox ID="num5" Text="小于50的" TextMode="SingleLine" runat="server" />
<asp:CompareValidator ControlToValidate="num5" Display="Dynamic" ErrorMessage="你輸入的數(shù)不小于50" ID="rnum5" Operator="LessThan" runat="server" Type="Integer" ValueToCompare="50" /></p>
<p>隨便輸入一個(gè)email :
<asp:TextBox ID="eml" Text="email" TextMode="SingleLine" runat="server" />
<asp:RegularExpressionValidator ControlToValidate="eml" Display="Dynamic" ErrorMessage="應(yīng)該是3-6任意字符@2-9位任意字符.2-3位任意字符" ID="reml" runat="server" ValidationExpression=".{3,6}@.{2,9}\..{2,3}" />
<asp:ValidationSummary DisplayMode="List" HeaderText="錯(cuò)誤信息集合" ID="tt" runat="server" /></p>
<p>
<asp:Button ID="But" Text="提交" runat="server" /> </p>
</p>
</form>
</body>
</html>