天天看點

c#正則表達示收藏

  -、"^"頭比對

  ^front表示以"front"開頭的字元串。

  二、"$"尾比對

  tail$表示以"tail"結尾的字元串。 三、轉義序列

  所有轉義序列都用"\"打頭。如"^"、"$"、"+"、"("、")"在表達式中都有特殊意義,是以在正規表達式中也用"\^"、"\$"、"\+"、"\("、"\)"來表示。

  四、字元簇

  [a-z]比對小寫字元;[A-Z]比對寫字元;[a-zA-Z]比對所有字元;[0-9]比對所有數字;[\.\-\+]比對所有句号,減号和加号;[^a-z]除了小寫字母以外的成有字元;^[^a-z]第一個字元不能是小寫字母;[^0-9]除了數字以外的所有字元;

  五、重複

  ^a{4}$表示aaaa;^a{2,4}表示aa,aaa或aaaa;^a{2,}表示多于兩個a的字元串;.{2}表示所有的兩個字元; 下面舉兩個常用例子說明:

  1、Email的驗證

  要求:

  (1)必須包含一個"@"

  (2)在"@"後面的字元串至少包含一個"."号

  (3)"@"前面和後面的字元串由一個或一個以上字母、數字、下劃線或減号構成

  根據這幾條規則,可以與出以下正規表達式:

  ^[a-zA-Z0-9_\-]{1,}@[a-zA-Z0-9_\-]{1,}\.[a-zA-Z0-9 _\-.]{1,}$

  或者:

  \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

  2、電話号碼的驗證

  要求:

  (1)電話号碼由數字、"("、")"和"-"構成

  (2)電話号碼為3到8位

  (3)如果電話号碼中包含有區号,那麼區号為三位或四位

  (4)區号用"("、")"或"-"和其他部分隔開

  (5)行動電話号碼為11或12位,如果為12位,那麼第一位為0

  (6)11位行動電話号碼的第一位和第二位為"13"

  (7)12位行動電話号碼的第二位和第三位為"13"

  根據這幾條規則,可以與出以下正規表達式:

  (^[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}$)

  整數或者小數:^[0-9]+\.{0,1}[0-9]{0,2}$

  隻能輸入數字:"^[0-9]*$"。

  隻能輸入n位的數字:"^\d{n}$"。

  隻能輸入至少n位的數字:"^\d{n,}$"。

  隻能輸入m~n位的數字:。"^\d{m,n}$"

  隻能輸入零和非零開頭的數字:"^(0|[1-9][0-9]*)$"。

  隻能輸入有兩位小數的正實數:"^[0-9]+(.[0-9]{2})?$"。

  隻能輸入有1~3位小數的正實數:"^[0-9]+(.[0-9]{1,3})?$"。

  隻能輸入非零的正整數:"^\+?[1-9][0-9]*$"。

  隻能輸入非零的負整數:"^\-[1-9][]0-9"*$。

  隻能輸入長度為3的字元:"^.{3}$"。

  隻能輸入長度為3至20位的字元:"^\w{3,20}$"。

  隻能輸入由26個英文字母組成的字元串:"^[A-Za-z]+$"。

  隻能輸入由26個大寫英文字母組成的字元串:"^[A-Z]+$"。

  隻能輸入由26個小寫英文字母組成的字元串:"^[a-z]+$"。

  隻能輸入由數字和26個英文字母組成的字元串:"^[A-Za-z0-9]+$"。

  隻能輸入由數字、26個英文字母或者下劃線組成的字元串:"^\w+$"。

  驗證使用者密碼:"^[a-zA-Z]\w{5,17}$"正确格式為:以字母開頭,長度在6~18之間,隻能包含字元、數字和下劃線。 驗證是否含有^%&',;=?$\"等字元:"[^%&',;=?$\x22]+"。

  隻能輸入漢字:"^[\u4e00-\u9fa5]{0,}$"

  驗證Email位址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。

  驗證InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。

  驗證電話号碼:"^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4}) ?$" 正确格式XXXX-XXXXXXXX-XXXX。

  驗證身份證号(15位或18位數字):"^\d{15}|\d{18}$"。

  驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正确格式為:"01"~"09"和"1"~"12"。

  驗證一個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正确格式為;"01"~"09"和"1"~"31"。 "^\d+$" //非負整數(正整數 + 0)

  "^[0-9]*[1-9][0-9]*$" //正整數

  "^((-\d+)|(0+))$" //非正整數(負整數 + 0)

  "^-[0-9]*[1-9][0-9]*$" //負整數

  "^-?\d+$" //整數

  "^\d+(\.\d+)?$" //非負浮點數(正浮點數 + 0)

  "^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\ .[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮點數

  "^((-\d+(\.\d+)?)|(0+(\.0+)?))$" //非正浮點數(負浮點數 + 0)

  "^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9] *\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //負浮點數

  "^(-?\d+)(\.\d+)?$" //浮點數

  "^[A-Za-z]+$" //由26個英文字母組成的字元串

  "^[A-Z]+$" //由26個英文字母的大寫組成的字元串

  "^[a-z]+$" //由26個英文字母的小寫組成的字元串

  "^[A-Za-z0-9]+$" //由數字和26個英文字母組成的字元串

  "^\w+$" //由數字、26個英文字母或者下劃線組成的字元串

  "^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$" //email位址

  "^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*) ?$" //url

  使用以上的正規表達式時,需要把前後的引号去掉。

  轉自:http://ntzrj513.blog.163.com/blog/static/279456122 0081083573182/