字符 含義
/ 轉義字符,將一個具有特殊功能的字符轉義為一個普通的字符
^ 匹配字符串的開始位置
$ 匹配字符串的結束位置
* 匹配前面的0次或多次的子表達式
+ 匹配前面的1次或多次的子表達式
? 匹配前面的0次多1次的子表達式
{n} n是非負整數,匹配前面的n次子表達式
{n,} n是非負整數,至少匹配前面的n次子表達式
{n,m} m,n均為非負整數,其中n<=m,至少匹配n次且最多匹配m次
? 當跟在其他限制符(*,+,?,{n},{n,},{n,m})后面時,匹配模式盡可能少的匹配所搜索的字符串
. 匹配除"/n"之外的任何單個字符
(pattern) 匹配pattern并獲取這一匹配
(?:pattern) 匹配pattern但不獲取匹配結果
(?=pattern) 正向預查,在任何匹配pattern的字符串開始處匹配查找字符串
(?!pattern) 負向預查,在任何不匹配pattern的字符串開始處匹配查找字符串
x|y 匹配x或y
[xyz] 匹配包含的任意一個字符
[^xyz] 匹配未包含的任意字符
[a-z] 匹配指定范圍內的任意字符
[^a-z] 匹配不在指定范圍內的任意字符
/b 匹配一個單詞邊界,即單詞和空格間的位置
/B 匹配非單詞邊界
/d 匹配一個數字字符,和[0-9]等價
/D 匹配一個非數字字符,和[^0-9]等價
/f 匹配一個換頁符
/n 匹配一個換行符
/r 匹配一個回車符
/s 匹配任何空白字符,包括空格、制表符、換頁符等
/S 匹配任何非空白字符
/t 匹配一個制表符
/v 匹配一個垂直制表符。
/w 匹配包括下劃線的任何單詞字符。和[a-zA-Z0-9_]等價
/W 匹配任何非單詞字符。和[^a-zA-Z0-9_]等價
運行效果:
試著輸入一下:
前臺js驗證,使用正則的exec方法,代碼如下:
1 <head runat="server"> 2 <title></title> 3 <script type="text/javascript"> 4 function judge() { 5 var text = document.getElementById("<%= TextBox1.ClientID%>").value; 6 var patten = /^/d{8}$/; 7 if(!patten.exec(text)) { 8 alert("輸入的不是8位數字"); 9 }10 }11 </script>12 </head>13 <body>14 <form id="form1" runat="server">15 <div>16 <asp:TextBox ID="TextBox1" runat="server" MaxLength="8" onblur="judge();"></asp:TextBox>17 </div>18 </form>19 </body>
后臺使用正則表達式,需引入命名空間using System.Text.RegularExPRessions;使用Regex的靜態方法IsMatch(),代碼如下:
1 protected void Button_Click(object sender, EventArgs e) 2 { 3 string patten = @"^/d{8}$"; 4 Regex regex = new Regex(patten); 5 string text = TextBox1.Text.Trim(); 6 if (!regex.IsMatch(text)) 7 { 8 ClientScript.RegisterStartupScript(ClientScript.GetType(), "", "<script>alert('輸入的不是8位數字')</script>"); 9 }10 }
新聞熱點
疑難解答