.net 常用Regex

來源:互聯網
上載者:User

標籤:c   a   http   ext   使用   string   

Net中Regex的簡單使用方法及常見驗證判斷

判斷字串是只是數字我們可以這樣寫:
return new System.Text.RegularExpressions.Regex(@"^([0-9])[0-9]*(\.\w*)?$").IsMatch(strNumber);
或者
return System.Text.RegularExpressions.Regex.IsMatch(strNumber, @"^([0-9])[0-9]*(\.\w*)?$");
第二個是使用靜態方法,而第一個是直接執行個體化一個Regex類
通過.Net Refleactor我們可以看到:
public static bool IsMatch(string input, string pattern){
    return new Regex(pattern).IsMatch(input);
}
這個是靜態方法,而且本質使用的還是 return new Regex(pattern).IsMatch(input);


常見函數:

1,是否是日期格式:
public static bool IsDateString(string str){
    return Regex.IsMatch(str, @"(\d{4})-(\d{1,2})-(\d{1,2})");
}
這個是判斷是否是時間格式:
public static bool IsTime(string timeval){
    return Regex.IsMatch(timeval, "^((([0-1]?[0-9])|(2[0-3])):([0-5]?[0-9])(:[0-5]?[0-9])?)$");
}
2,是否是數字類型
public static bool IsNumber(string strNumber){
    return new Regex(@"^([0-9])[0-9]*(\.\w*)?$").IsMatch(strNumber);
}
3,是否是電子郵件格式: 
public static bool IsValidEmail(string strEmail){
    return Regex.IsMatch(strEmail, @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
}
4,是否是安全的sql
public static bool IsSafeSqlString(string str){
    return !Regex.IsMatch(str, @"[-|;|,|\/|\(|\)|\[|\]|\}|\{|%|@|\*|!|\‘]");
}其他繼續搜集中,如果你有好的可以留言

 


一些常見Regex
    1.驗證使用者名稱和密碼:("^[a-zA-Z]\w{5,15}$")正確格式:"[A-Z][a-z]_[0-9]"組成,並且第一個字必須為字母6~16位;
    2.驗證電話號碼:("^(\d{3.4}-)\d{7,8}$")正確格式:xxx/xxxx-xxxxxxx/xxxxxxxx;
    3.驗證社會安全號碼(15位或18位元字):("^\d{15}|\d{18}$");
    4.驗證Email地址:("^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$");
    5.只能輸入由數字和26個英文字母組成的字串:("^[A-Za-z0-9]+$")   ;
    6.整數或者小數:^[0-9]+\.{0,1}[0-9]{0,2}$
    7.只能輸入數字:"^[0-9]*$"。
    8.只能輸入n位的數字:"^\d{n}$"。
    9.只能輸入至少n位的數字:"^\d{n,}$"。
    10.只能輸入m~n位的數字:。"^\d{m,n}$"
    11.只能輸入零和非零開頭的數字:"^(0|[1-9][0-9]*)$"。
    12.只能輸入有兩位小數的正實數:"^[0-9]+(.[0-9]{2})?$"。
    13.只能輸入有1~3位小數的正實數:"^[0-9]+(.[0-9]{1,3})?$"。
    14.只能輸入非零的正整數:"^\+?[1-9][0-9]*$"。
    15.只能輸入非零的負整數:"^\-[1-9][]0-9"*$。
    16.只能輸入長度為3的字元:"^.{3}$"。
    17.只能輸入由26個英文字母組成的字串:"^[A-Za-z]+$"。
    18.只能輸入由26個大寫英文字母組成的字串:"^[A-Z]+$"。
    19.只能輸入由26個小寫英文字母組成的字串:"^[a-z]+$"。
    20.驗證是否含有^%&‘,;=?$\"等字元:"[^%&‘,;=?$\x22]+"。
    21.只能輸入漢字:"^[\u4e00-\u9fa5]{0,}$"
    22.驗證URL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
    23.驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"1"~"12"。
    24.驗證一個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~"09"和"1"~"31"。

"^([a-z]|\d|[\u4e00-\u9fa5]){4,16}$"

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.