/// <summary>
/// 正则表达式判断是否为数字
/// </summary>
/// <param name="strNumber"></param>
/// <returns></returns>
public static bool IsNumber(string strNumber)
{
//^[-+]?[1-9]/d*/.?[0]*$
Regex objNotNumberPattern = new Regex("[^0-9.-]");
Regex objTwoDotPattern = new Regex("[0-9]*[.][0-9]*[.][0-9]*");
Regex objTwoMinusPattern = new Regex("[0-9]*[-][0-9]*[-][0-9]*");
String strValidRealPattern = "^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$";
String strValidIntegerPattern = "^([-]|[0-9])[0-9]*$";
Regex objNumberPattern = new Regex("(" + strValidRealPattern + ")|(" + strValidIntegerPattern + ")");
return !objNotNumberPattern.IsMatch(strNumber) &&
!objTwoDotPattern.IsMatch(strNumber) &&
!objTwoMinusPattern.IsMatch(strNumber) &&
objNumberPattern.IsMatch(strNumber);
}
/**//// <summary>
/// 正则表达式判断是否为日期
/// 验证格式:
/// YYYY-MM
/// YYYY-MM(M)-DD(M)
/// YYYYMMDD
/// </summary>
/// <param name="date"></param>
/// <returns></returns>
public static bool IsDate(string date)
{
//(([0-9]{4}-)([0-9]{1,2}-)[0-9]{1,2})
Regex ymPattern = new Regex(@"^/d{4}-?(?:0[1-9]|1[0-2])$");
Regex yyyyMMdd = new Regex(@"^((/d{2}(([02468][048])|([13579][26]))[/-///s]?((((0?[13578])|(1[02]))[/-///s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[/-///s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[/-///s]?((0?[1-9])|([1-2][0-9])))))|(/d{2}(([02468][1235679])|([13579][01345789]))[/-///s]?((((0?[13578])|(1[02]))[/-///s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[/-///s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[/-///s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))"); //日期部分
return !ymPattern.IsMatch(date) &&
yyyyMMdd.IsMatch(date);
}
/**//// <summary>
/// 正则表达式判断是否为日期
/// 验证格式:
/// YYYY-MM(M)-DD(M) HH:MM
/// YYYYMMDD HH:MM
/// </summary>
/// <param name="date"></param>
/// <returns></returns>
public static bool IsDateTime(string date)
{
string regex = @"^((/d{2}(([02468][048])|([13579][26]))[/-///s]?((((0?[13578])|(1[02]))[/-///s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[/-///s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[/-///s]?((0?[1-9])|([1-2][0-9])))))|(/d{2}(([02468][1235679])|([13579][01345789]))[/-///s]?((((0?[13578])|(1[02]))[/-///s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[/-///s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[/-///s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))"; //日期部分
regex += @"(/s(((0?[0-9])|([1-2][0-3]))/:([0-5]?[0-9])((/s)|(/:([0-5]?[0-9])))))?$"; //时间部分
System.Text.RegularExpressions.RegexOptions options = ((System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace | System.Text.RegularExpressions.RegexOptions.Multiline) | System.Text.RegularExpressions.RegexOptions.IgnoreCase);
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(regex, options);
return reg.IsMatch(date);
}
public static bool IsEmail(string mail)
{
Regex reg = new Regex(@"^([a-zA-Z0-9_/-/.]+)@((/[[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/.)|(([a-zA-Z0-9/-]+/.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(/]?)$");
return reg.IsMatch(mail);
}
/**//// <summary>
/// 正则表达式是否为网址,验证格式:
/// wwww.xxx.xxx
/// xxx.xxx.xxx
/// http://www.xxx.xxx
/// http://xxx.xxx.xxx
/// </summary>
/// <param name="uri"></param>
/// <returns></returns>
public static bool IsUri(string uri)
{
Regex reg = new Regex(@"^(((ht|f)tp(s?))/://)?((([a-zA-Z0-9_/-]{2,}/.)+[a-zA-Z]{2,})|((?:(?:25[0-5]|2[0-4]/d|[01]/d/d|/d?/d)(?(/.?/d)/.)){4}))(:[a-zA-Z0-9]+)?(/[a-zA-Z0-9/-/._/?/,/'////+&%/$#/=~]*)?$");
return reg.IsMatch(uri);
}