標籤: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}$"