正則表達式

只能輸入1個數字 只能輸入n個數字 只能輸入至少n個數字 只能輸入m到n個數字 只能輸入數字 只能輸入某個區間數字 只能輸入0和非0打頭的數字 只能輸入實數 只能輸入n位小數的正實數 只能輸入m-n位小數的正實數 只能輸入非0的正整數 只能輸入非0的負整數 只能輸入n個字符 只能輸入英文字符 只能輸入大寫英文字符 只能輸入小寫英文字符 只能輸入英文字符+數字 只能輸入英文字符/數字/下劃線 密碼舉例 驗證首字母大寫 驗證網址(帶?id=中文)VS.NET2005無此功能 驗證漢字 驗證QQ號 驗證電子郵件(驗證MSN號同樣) 驗證身份證號(粗驗,最好服務器端調類庫再細驗證) 驗證手機號(包含159,不包含小靈通) 驗證電話號碼號(很複雜,VS.NET2005給的是錯的) 驗證護照 驗證IP,驗證域驗證信用卡(支持VISA卡,萬事達卡,Discover卡,美國運通卡) 驗證ISBN國際標準書號 驗證GUID全球惟一標識符 驗證文件路徑和擴展名 驗證Html顏色值javascript

正則表達式是.NET隱形的語法。關於其語法的文章不少,也能夠參考MSDN。本文的目的是舉例,包括全部的正則表達式用法,會不斷補充,歡迎你們留言提供支持! RegularExpressionValidator控件 使用RegularExpressionValidator控件,固然也能夠不用RegularExpressionValidator控件在後臺直接驗證 ValidationExpression屬性自帶了幾個默認驗證方法,可是那遠遠不夠的。ErrorMessage屬性是報錯信息。java

如圖所示能夠點擊「...」彈出的窗口選擇你要的正則表達式,或者直接本身寫。git

在IE裏輸入不是對應格式的時候就會報錯:正則表達式

驗證數字: 只能輸入1個數字服務器

  表達式 ^\d$ 描述 匹配一個數字 匹配的例子 0,1,2,3 不匹配的例子  編碼

只能輸入n個數字url

  表達式 ^\d{n}$  例如^\d{8}$ 描述 匹配8個數字 匹配的例子 12345678,22223334,12344321 不匹配的例子  .net

 

只能輸入至少n個數字blog

  表達式 ^\d{n,}$ 例如^\d{8,}$ 描述 匹配最少n個數字 匹配的例子 12345678,123456789,12344321 不匹配的例子  ip

 

只能輸入m到n個數字

  表達式 ^\d{m,n}$ 例如^\d{7,8}$ 描述 匹配m到n個數字 匹配的例子 12345678,1234567 不匹配的例子 123456,123456789

 

只能輸入數字

  表達式 ^[0-9]*$ 描述 匹配任意個數字 匹配的例子 12345678,1234567 不匹配的例子 E,清清月兒

 

只能輸入某個區間數字

  表達式 ^[12-15]$ 描述 匹配某個區間的數字 匹配的例子 12,13,14,15 不匹配的例子  

 

只能輸入0和非0打頭的數字

  表達式 ^(0|[1-9][0-9]*)$ 描述 能夠爲0,第一個數字不能爲0,數字中能夠有0 匹配的例子 12,10,101,100 不匹配的例子 01,清清月兒

 

只能輸入實數

  表達式 ^[-+]?\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

 

只能輸入m-n位小數的正實數

  表達式 ^[0-9]+(.[0-9]{m,n})?$以^[0-9]+(.[0-9]{1,2})?$爲例 描述 匹配m到n位小數的正實數 匹配的例子 2.22,2.2 不匹配的例子 2.222,-2.2222

 

只能輸入非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

 

只能輸入英文字符

  表達式 ^.[A-Za-z]+$爲例 描述 匹配英文字符,大小寫任意 匹配的例子 Asp,WWW, 不匹配的例子 0,123,123www

 

只能輸入大寫英文字符

  表達式 ^.[A-Z]+$爲例 描述 匹配英文大寫字符 匹配的例子 NET,WWW, 不匹配的例子 0,123,123www

 

只能輸入小寫英文字符

  表達式 ^.[a-z]+$爲例 描述 匹配英文大寫字符 匹配的例子 asp,csdn 不匹配的例子 0,NET,WWW

 

只能輸入英文字符+數字

  表達式 ^.[A-Za-z0-9]+$爲例 描述 匹配英文字符+數字 匹配的例子 1Asp,W1W1W, 不匹配的例子 0,123,123,www

 

只能輸入英文字符/數字/下劃線

  表達式 ^\w+$爲例 描述 匹配英文字符或數字或下劃線 匹配的例子 1Asp,WWW,12,1_w 不匹配的例子 3#,2-4,w#$

 

密碼舉例

  表達式 ^.[a-zA-Z]\w{m,n}$ 描述 匹配英文字符開頭的m-n位字符且只能數字字母或下劃線 匹配的例子   不匹配的例子  

 

驗證首字母大寫   表達式 \b[^\Wa-z0-9_][^\WA-Z0-9_]*\b 描述 首字母只能大寫 匹配的例子 Asp,Net 不匹配的例子 

 

驗證網址(帶?id=中文)VS.NET2005無此功能   表達式 ^http:\/\/([\w-]+(\.[\w-]+)+(\/[\w-   .\/\?%&=\u4e00-\u9fa5]*)?)?$   描述 驗證帶?id=中文 匹配的例子   不匹配的例子  

 

驗證漢字   表達式 ^[\u4e00-\u9fa5]{0,}$ 描述 只能漢字 匹配的例子 清清月兒 不匹配的例子  

 

驗證QQ號   表達式 [0-9]{5,9} 描述 5-9位的QQ號 匹配的例子 10000,123456 不匹配的例子 10000w

 

驗證電子郵件(驗證MSN號同樣) 表達式 \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 描述 注意MSN用非hotmail.com郵箱也能夠 匹配的例子 aaa@msn.com 不匹配的例子 111@1

 

驗證身份證號(粗驗,最好服務器端調類庫再細驗證)   表達式 ^[1-9]([0-9]{16}|[0-9]{13})[xX0-9]$ 描述  匹配的例子 15或者18位的身份證號,支持帶X的 不匹配的例子  

 

驗證手機號(包含159,不包含小靈通)   表達式 ^13[0-9]{1}[0-9]{8}|^15[9]{1}[0-9]{8} 描述 包含159的手機號130-139 匹配的例子 139XXXXXXXX 不匹配的例子 140XXXXXXXX

 

驗證電話號碼號(很複雜,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位 上海:021-12345678 上海:(021)-12345678 上海:(021)12345678 鄭州:03711234567     4+7位 杭州:057112345678     4+8位 還有帶上分機號,國家碼的狀況 因爲狀況很是複雜因此不建議前臺作100%驗證,到目前爲止彷佛也沒有誰能寫一個包含全部的類型,其實有不少狀況自己就是矛盾的。 若是誰有更好的驗證電話的請留言   匹配的例子   不匹配的例子  

 

驗證護照   表達式 (P\d{7})|G\d{8})   描述 驗證P+7個數字和G+8個數字 匹配的例子   不匹配的例子  

 

驗證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 不匹配的例子

 

一些經常使用的正則表達式,和你們分享下。

//校驗是否全由數字組成
function isDigit(s)
{
    var patrn=/^[0-9]{1,20}$/;
    if (!patrn.exec(s)) return false
    return true
}
//校驗登陸名:只能輸入5-20個以字母開頭、可帶數字、「_」、「.」的字串
function isRegisterUserName(s)
{
    var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
    if (!patrn.exec(s)) return false
    return true
}
//校驗用戶姓名:只能輸入1-30個以字母開頭的字串
function isTrueName(s)
{
    var patrn=/^[a-zA-Z]{1,30}$/;
    if (!patrn.exec(s)) return false
    return true
}
//校驗密碼:只能輸入6-20個字母、數字、下劃線
function isPasswd(s)
{
    var patrn=/^(\w){6,20}$/;
    if (!patrn.exec(s)) return false
    return true
}
//校驗普通電話、傳真號碼:能夠「+」開頭,除數字外,可含有「-」
function isTel(s)
{
    //var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
    var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
    if (!patrn.exec(s)) return false
    return true
}
//校驗手機號碼:必須以數字開頭,除數字外,可含有「-」
function isMobil(s)
{
    var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
    if (!patrn.exec(s)) return false
    return true
}
//校驗郵政編碼
function isPostalCode(s)
{
    //var patrn=/^[a-zA-Z0-9]{3,12}$/;
    var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
    if (!patrn.exec(s)) return false
    return true
}
//校驗搜索關鍵字
function isSearch(s)
{
    var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;'\,.<>?]{0,19}$/;
    if (!patrn.exec(s)) return false
    return true
}
//校驗是否IP地址
function isIP(s) //by zergling
{
    var patrn=/^[0-9.]{1,20}$/;
    if (!patrn.exec(s)) return false
    return true
}


"^\\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
"^[A-Za-z0-9_]*$"
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息