.NET2.0隱形的翅膀,正則表示式搜魂者
本文實現了:
只能輸入1個數字
只能輸入n個數字
只能輸入至少n個數字
只能輸入m到n個數字
只能輸入數字
只能輸入某個區間數字
只能輸入0和非0打頭的數字
只能輸入實數
只能輸入n位小數的正實數
只能輸入m-n位小數的正實數
只能輸入非0的正整數
只能輸入非0的負整數
只能輸入n個字元
只能輸入英文字元
只能輸入大寫英文字元
只能輸入小寫英文字元
只能輸入英文字元+數字
只能輸入英文字元/數字/下劃線
密碼舉例
驗證首字母大寫
驗證網址(帶?id=中文)VS.NET2005無此功能
驗證漢字
驗證QQ號
驗證電子郵件(驗證MSN號一樣)
驗證身份證號(粗驗,最好伺服器端調類庫再細驗證)
驗證手機號(包含159,不包含小靈通)
驗證電話號碼號(很複雜,VS.NET2005給的是錯的)
驗證護照
驗證ISBN國際標準書號
驗證GUID全球唯一識別符號
驗證檔案路徑和副檔名
驗證Html顏色值
... ...
我知道
我一直有雙隱形的翅膀
帶我飛
給我希望
我終於
看到
所有夢想都開花
追逐的年輕
... ...
---------------歌手:張韶涵 專輯:潘朵拉
正則表示式是.NET隱形的語法。關於其語法的文章很多,也可以參考MSDN。本文的目的是舉例,包括所有的正則表示式用法,會不斷補充,歡迎大家留言提供支援!
以下連結有足夠多的基本教程:
http://blog.csdn.net/21aspnet/category/285967.aspx
RegularExpressionValidator控制元件
使用RegularExpressionValidator控制元件,當然也可以不用RegularExpressionValidator控制元件在後臺直接驗證
ValidationExpression屬性自帶了幾個預設驗證方法,但是那遠遠不夠的。ErrorMessage屬性是報錯資訊。
如圖所示可以點選“...”彈出的視窗選擇你要的正則表示式,或者直接自己寫。
在IE裡輸入不是對應格式的時候就會報錯:
驗證數字:
只能輸入1個數字 |
|
表示式 | ^/d$ |
描述 | 匹配一個數字 |
匹配的例子 | 0,1,2,3 |
不匹配的例子 |
只能輸入n個數字 |
|
表示式 | ^/d{n}$ 例如^/d{8}$ |
描述 | 匹配8個數字 |
匹配的例子 | 12345678,22223334,12344321 |
不匹配的例子 |
只能輸入至少n個數字 |
|
表示式 | ^/d{n,}$ 例如^/d{8,}$ |
描述 | 匹配最少n個數字 |
匹配的例子 | 12345678,123456789,12344321 |
不匹配的例子 |
只能輸入m到n個數字 |
|
表示式 | ^/d{m,n}$ 例如^/d{7,8}$ |
描述 | 匹配m到n個數字 |
匹配的例子 | 12345678,1234567 |
不匹配的例子 | 123456,123456789 |
只能輸入數字 |
|
表示式 | ^[0-9]*$ |
描述 | 匹配任意個數字 |
匹配的例子 | 12345678,1234567 |
不匹配的例子 | E,清清月兒,http://blog.csdn.net/21aspnet |
只能輸入某個區間數字 |
|
表示式 | ^[12-15]$ |
描述 | 匹配某個區間的數字 |
匹配的例子 | 12,13,14,15 |
不匹配的例子 |
只能輸入0和非0打頭的數字 |
|
表示式 | ^(0|[1-9][0-9]*)$ |
描述 | 可以為0,第一個數字不能為0,數字中可以有0 |
匹配的例子 | 12,10,101,100 |
不匹配的例子 | 01,清清月兒,http://blog.csdn.net/21aspnet |
只能輸入實數 |
|
表示式 | ^[-+]?/d+(/./d+)?$ |
描述 | 匹配實數 |
匹配的例子 | 18,+3.14,-9.90 |
不匹配的例子 | .6,33s,67-99 |
只能輸入n位小數的正實數 |
|
表示式 | ^[0-9]+(.[0-9]{n})?$以^[0-9]+(.[0-9]{2})?$為例 |
描述 | 匹配n位小數的正實數 |
匹配的例子 | 2.22 |
不匹配的例子 | 2.222,-2.22,http://blog.csdn.net/21aspnet |
只能輸入m-n位小數的正實數 |
|
表示式 | ^[0-9]+(.[0-9]{m,n})?$以^[0-9]+(.[0-9]{1,2})?$為例 |
描述 | 匹配m到n位小數的正實數 |
匹配的例子 | 2.22,2.2 |
不匹配的例子 | 2.222,-2.2222,http://blog.csdn.net/21aspnet |
只能輸入非0的正整數 |
|
表示式 | ^/+?[1-9][0-9]*$ |
描述 | 匹配非0的正整數 |
匹配的例子 | 2,23,234 |
不匹配的例子 | 0,-4, |
只能輸入非0的負整數 |
|
表示式 | ^/-[1-9][0-9]*$ |
描述 | 匹配非0的負整數 |
匹配的例子 | -2,-23,-234 |
不匹配的例子 | 0,4, |
只能輸入n個字元 |
|
表示式 | ^.{n}$ 以^.{4}$為例 |
描述 | 匹配n個字元,注意漢字只算1個字元 |
匹配的例子 | 1234,12we,123清,清清月兒 |
不匹配的例子 | 0,123,123www,http://blog.csdn.net/21aspnet/ |
只能輸入英文字元 |
|
表示式 | ^.[A-Za-z]+$為例 |
描述 | 匹配英文字元,大小寫任意 |
不匹配的例子 | 0,123,123www,http://blog.csdn.net/21aspnet/ |
只能輸入大寫英文字元 |
|
表示式 | ^.[A-Z]+$為例 |
描述 | 匹配英文大寫字元 |
匹配的例子 | NET,WWW, |
不匹配的例子 | 0,123,123www, |
只能輸入小寫英文字元 |
|
表示式 | ^.[a-z]+$為例 |
描述 | 匹配英文大寫字元 |
不匹配的例子 | 0,NET,WWW, |
只能輸入英文字元+數字 |
|
表示式 | ^.[A-Za-z0-9]+$為例 |
描述 | 匹配英文字元+數字 |
匹配的例子 | 1Asp,W1W1W, |
不匹配的例子 | 0,123,123,www,http://blog.csdn.net/21aspnet/ |
只能輸入英文字元/數字/下劃線 |
|
表示式 | ^/w+$為例 |
描述 | 匹配英文字元或數字或下劃線 |
匹配的例子 | 1Asp,WWW,12,1_w |
不匹配的例子 | 3#,2-4,w#$,http://blog.csdn.net/21aspnet/ |
密碼舉例 |
|
表示式 | ^.[a-zA-Z]/w{m,n}$ |
描述 | 匹配英文字元開頭的m-n位字元且只能數字字母或下劃線 |
匹配的例子 | |
不匹配的例子 |
驗證首字母大寫 |
|
表示式 | /b[^/Wa-z0-9_][^/WA-Z0-9_]*/b |
描述 | 首字母只能大寫 |
驗證網址(帶?id=中文)VS.NET2005無此功能 |
|
表示式 |
^http:////([/w-]+(/.[/w-]+)+(//[/w- .///?%&=/u4e00-/u9fa5]*)?)?$ |
描述 | 驗證帶?id=中文 |
匹配的例子 | http://blog.csdn.net/21aspnet/, http://blog.csdn.net?id=清清月兒 |
不匹配的例子 |
驗證漢字 |
|
表示式 | ^[/u4e00-/u9fa5]{0,}$ |
描述 | 只能漢字 |
匹配的例子 | 清清月兒 |
不匹配的例子 | http://blog.csdn.net/21aspnet/ |
驗證QQ號 |
|
表示式 | [0-9]{5,9} |
描述 | 5-9位的QQ號 |
匹配的例子 | 10000,123456 |
不匹配的例子 | 10000w,http://blog.csdn.net/21aspnet/ |
驗證電子郵件(驗證MSN號一樣) | |
表示式 | /w+([-+.']/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)* |
描述 | 注意MSN用非hotmail.com郵箱也可以 |
匹配的例子 | [email protected] |
不匹配的例子 | [email protected] http://blog.csdn.net/21aspnet/ |
驗證身份證號(粗驗,最好伺服器端調類庫再細驗證) |
|
表示式 | ^[1-9]([0-9]{16}|[0-9]{13})[xX0-9]$ |
描述 | |
匹配的例子 | 15或者18位的身份證號,支援帶X的 |
不匹配的例子 | http://blog.csdn.net/21aspnet/ |
驗證手機號(包含159,不包含小靈通) |
|
表示式 | ^13[0-9]{1}[0-9]{8}|^15[9]{1}[0-9]{8} |
描述 | 包含159的手機號130-139 |
匹配的例子 | 139XXXXXXXX |
不匹配的例子 | 140XXXXXXXX,http://blog.csdn.net/21aspnet/ |
驗證電話號碼號(很複雜,VS.NET2005給的是錯的) |
|
表示式(不完美) | 方案一 ((/(/d{3}/)|/d{3}-)|(/(/d{4}/)|/d{4}-))?(/d{8}|/d{7}) 方案二 (^[0-9]{3,4}/-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^/([0-9]{3,4}/)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$) 支援手機號但也不完美 |
描述 |
上海:02112345678 3+8位 |
匹配的例子 | |
不匹配的例子 |
驗證護照 |
|
表示式 |
(P/d{7})|G/d{8}) |
描述 | 驗證P+7個數字和G+8個數字 |
匹配的例子 | |
不匹配的例子 | 清清月兒,http://blog.csdn.net/21aspnet/ |
驗證IP |
|
表示式 |
^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])/.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)/.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)/.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$ |
描述 | 驗證IP |
匹配的例子 | 192.168.0.1 222.234.1.4 |
不匹配的例子 |
驗證域 | |
表示式 |
^[a-zA-Z0-9]+([a-zA-Z0-9/-/.]+)?/.(com|org|net|cn|com.cn|edu.cn|grv.cn|)$ |
描述 | 驗證域 |
匹配的例子 | csdn.net baidu.com it.com.cn |
不匹配的例子 | 192.168.0.1 |
驗證信用卡 | |
表示式 |
^((?:4/d{3})|(?:5[1-5]/d{2})|(?:6011)|(?:3[68]/d{2})|(?:30[012345]/d))[ -]?(/d{4})[ -]?(/d{4})[ -]?(/d{4}|3[4,7]/d{13})$ |
描述 | 驗證VISA卡,萬事達卡,Discover卡,美國運通卡 |
匹配的例子 | |
不匹配的例子 |
驗證ISBN國際標準書號 | |
表示式 |
^(/d[- ]*){9}[/dxX]$ |
描述 | 驗證ISBN國際標準書號 |
匹配的例子 | 7-111-19947-2 |
不匹配的例子 |
驗證GUID全球唯一識別符號 | |
表示式 |
^[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}$ |
描述 | 格式8-4-4-4-12 |
匹配的例子 | 2064d355-c0b9-41d8-9ef7-9d8b26524751 |
不匹配的例子 |
驗證檔案路徑和副檔名 | |
表示式 |
^([a-zA-Z]/:|//)//([^//]+//)*[^//:*?"<>|]+/.txt(l)?$ |
描述 | 檢查路徑和副檔名 |
匹配的例子 | E:/mo.txt |
不匹配的例子 | E:/ , mo.doc, E:/mo.doc ,http://blog.csdn.net/21aspnet/ |
驗證Html顏色值 | |
表示式 |
^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$ |
描述 | 檢查顏色取值 |
匹配的例子 | #FF0000 |
不匹配的例子 | http://blog.csdn.net/21aspnet/ |
相關推薦
.NET2.0隱形的翅膀,正則表示式搜魂者
本文實現了:只能輸入1個數字只能輸入n個數字只能輸入至少n個數字只能輸入m到n個數字只能輸入數字只能輸入某個區間數字只能輸入0和非0打頭的數字只能輸入實數只能輸入n位小數的正實數只能輸入m-n位小數的正實數只能輸入非0的正整數只能輸入非0的負整數只能輸入n個字元只能輸入英文字
劍指offer系列——陣列中重複的數字,構建乘積陣列,正則表示式匹配
陣列中重複的數字 題目描述 在一個長度為n的數組裡的所有數字都在0到n-1的範圍內。 陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意一個重複的數字。 例如,如果輸入長度為7的陣列{2,3,1,0,2,5,3},那麼對應的輸出是第一個重複的數字2
C#Json文件解析,寫入,正則表示式轉換。Unity建立Json文件以及寫入。
C#: 解析: 解析工具:LitJson,JsonConvert &nb
開啟檔案獲取檔名,正則表示式獲取特定字元
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.
機器學習實戰中,第四章樸素貝葉斯,過濾垃圾郵件,正則表示式切分郵件內容得出字母的問題解決方法
原文中的程式碼:listOfTokens = re.split(r'\W*', bigString) 修改為:listOfTokens = re.split(r'\W+', bigString)
大資料工作中常用的20條語句(hive,yarn,Linux,正則表示式等)
1.檢視hadoop任務 yarn application -list |grep 使用者名稱 yarn application -kill application_1443009203033_86621 2.liunx nohup命令 nohup ./label_driver.sh >
C/C++基礎----標準庫幾個工具庫tuple,bitset,正則表示式,隨機數,IO庫
tuple tuple可以有任意多個成員 預設初始化,值初始化 建構函式是explicit,必須直接初始化 make_tuple(v1,v2,…,vn) get<i> (t) 返回第i個數據成員的引用,t是左值則返回左值引用,右值則返回右值引用 tuple_size<tupleType&
python3 re模組,正則表示式方式實現簡單加減乘除計算器
import re #加法 def plus(s): if re.search("^\d+[.]?\d*\+\d+[.]?\d*",s) != None: str_re = re.search("\d+[.]?\d*\+\d+[.]?\d*", s).
只保留p和img標籤,正則表示式
js中使用,保留了標籤中的屬性content = content.replace(/<(?!\/?p|\/?IMG)[^<>]*>/ig,'');js中使用,去除img標籤中的style屬性content = content.replace(/styl
十二,正則表示式整理
基本符號: ^ 表示匹配字串的開始位置 (例外 用在中括號中[ ] 時,可以理解為取反,表示不匹配括號中字串) $ 表示匹配字串的結束位置 * 表示匹配 零次到多次 + 表示匹配 一次到多次 (至少有一
Linux中grep命令,用或的關係查詢多個字串,正則表示式基礎說明
使用 grep 'word1|word2' 檔名 這樣的命令是不對的! 應該使用如下的命令:1,grep -E 'word1|word2' 檔名 2,egrep 'word1|word2' 檔名 3
jmeter中mail reader sampler郵件層級多,正則表示式提取器(regular expression extror)無法提取,使用BeanShellPostProcessor解決
問題描述: 1、jmeter通過“MailReader Sampler”連線伺服器,將傳送到郵箱的包含註冊驗證碼郵件下載到jmeter中,在郵件中提取驗證碼,進行後續註冊驗證,即: 2、使用“正則表示式提取器”進行驗證碼提取: 結果無法取到驗證碼; 3、使用“Bea
java 將英文文章 按句子,標點符號分割,正則表示式
package com.gao; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException
python異常處理與除錯,正則表示式
####異常處理與除錯#### 1.cacl包裡沒加if __name__ == "__main__":時,hell.py在呼叫mun中的方法時,會執行mun中的print,加了之後則沒有。 2.錯誤 •有的錯誤是程式編寫有問題造成的,比如本來應該輸出整數結果輸出了字元
NSAttributedString,並富文字,正則表示式,超連結,水印
碼: #import "ViewController.h" #import "CustomTextAttachment.h" //NSAttributedString.h 中文字屬性key的說明 /* NSFontAttributeName
CTF-PHP程式碼審計,正則表示式記錄
一、PHP自動化的全域性變數:$GLOBALS — 引用全域性作用域中可用的全部變數,一個包含了全部變數的全域性組合陣列。變數的名字就是陣列的鍵。flag In the variable ! <?
=讀取日誌檔案,正則表示式匹配出有用資訊,並且儲存到csv檔案。
//版本1 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.
js操作字串,陣列,正則表示式的方法
str='linx/dsadj.php';//alert(str.length);陣列長度//alert(str.indexOf('n'))檢測n在字串中出現的位置;//alert(str.lastIndexOf('x'))字串中最後一次出現X的位置//alert(str.s
Linux(七)輸入輸出重定向結合crontab,萬用字元,正則表示式
目錄 三、管道符 字元匹配 位置匹配 一、輸入輸出重定向 >file //標準輸出重定向到檔案 -------覆蓋 >>file //標準輸出重定向到檔案 -------追加 2>
python 基礎高階函式,正則表示式,md5加密演算法
import hashlib hash=hashlib.md5() hash.update("123456") print hash.hexdigest() random.random()浮點數 0