Net中正则表达式的简单使用方法及常见验证判断
判断字符串是只是数字我们可以这样写:
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,是否是安全的sqlpublic static bool IsSafeSqlString(string str){ return !Regex.IsMatch(str, @"[-|;|,|\/|\(|\)|\[|\]|\}|\{|%|@|\*|!|\']");}其他继续搜集中,如果你有好的可以留言一些常见正则表达式 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}$"