You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
241 lines
6.7 KiB
C#
241 lines
6.7 KiB
C#
using System;
|
|
using System.Text;
|
|
using System.Text.RegularExpressions;
|
|
|
|
namespace HuizhongLibrary.RegularExpressions
|
|
{
|
|
public class DataRegex
|
|
{
|
|
//验证日期格式
|
|
public static bool IsDateTime(string value)
|
|
{
|
|
if (value == "") return true;
|
|
try
|
|
{
|
|
DateTime dt = Convert.ToDateTime(value);
|
|
if (dt > new DateTime(3000, 1, 1) || dt < new DateTime(1900, 1, 1)) return false;
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 验证日期格式
|
|
/// </summary>
|
|
/// <param name="Date"></param>
|
|
/// <returns>{0格式正确}{1空值}{2日期格式错误}{3日期超出范围1900-1-1至3000-1-1}</returns>
|
|
public static int IsDate(string value)
|
|
{
|
|
if (value == "") return 1;
|
|
DateTime dt;
|
|
try
|
|
{
|
|
dt = Convert.ToDateTime(value);
|
|
}
|
|
catch
|
|
{
|
|
return 2;
|
|
}
|
|
if (dt > new DateTime(3000, 1, 1) || dt < new DateTime(1900, 1, 1)) return 3;
|
|
return 0;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 验证是否是整数
|
|
/// </summary>
|
|
/// <param name="value"></param>
|
|
/// <param name="IsMinus">验证是否可为负,true验证不能为负,flase可为负</param>
|
|
/// <returns></returns>
|
|
public static bool IsNumberInteger(string value, bool IsMinus)
|
|
{
|
|
if (value == "") return true;
|
|
try
|
|
{
|
|
if (IsMinus == false)
|
|
{
|
|
Convert.ToInt32(value);
|
|
}
|
|
else
|
|
{
|
|
if (Convert.ToInt32(value) < 0) return false;
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 验证是否是整数
|
|
/// </summary>
|
|
/// <param name="value"></param>
|
|
/// <returns></returns>
|
|
public static bool IsNumberInteger(string value, int minNumber, int maxNumber)
|
|
{
|
|
if (value == "") return true;
|
|
int sl = 0;
|
|
try
|
|
{
|
|
sl = Convert.ToInt32(value);
|
|
if (sl < minNumber || sl > maxNumber) return false;
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 验证是否是整数
|
|
/// </summary>
|
|
public static bool IsNumberInteger(string value)
|
|
{
|
|
if (value == "") return true;
|
|
try
|
|
{
|
|
Convert.ToInt32(value);
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 验证是否是浮点数
|
|
/// </summary>
|
|
public static bool IsNumberDouble(string value, Double minNumber, Double maxNumber)
|
|
{
|
|
if (value == "") return true;
|
|
double sl = 0;
|
|
try
|
|
{
|
|
sl = Convert.ToDouble(value);
|
|
if (sl < minNumber || sl > maxNumber) return false;
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 验证是否是浮点数
|
|
/// </summary>
|
|
public static bool IsNumberDouble(string value)
|
|
{
|
|
if (value == "") return true;
|
|
try
|
|
{
|
|
Convert.ToDouble(value);
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 验证是否是浮点数,并且小数位不能超过N位
|
|
/// </summary>
|
|
public static bool IsNumberDouble(string value, int len)
|
|
{
|
|
if (value == "") return true;
|
|
try
|
|
{
|
|
Match mc = Regex.Match(value, @"\d{1,9}$|\d{1,9}[.]\d{1," + len.ToString() + "}$");
|
|
if (value != mc.Value) return false;//如果找到的字符串不等于原字符串那么说明是错误的格式
|
|
}
|
|
catch
|
|
{
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 验证Email地址
|
|
/// </summary>
|
|
public static bool IsEmail(string value)
|
|
{
|
|
if (value == "") return true;
|
|
if (Regex.Matches(value, @"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$").Count == 0) return false;
|
|
return true;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 验证身份证号码
|
|
/// </summary>
|
|
public static bool IsIdentityCard(string value)
|
|
{
|
|
if (value == "") return true;
|
|
|
|
if (Regex.Matches(value, @"^\d{15}$|^\d{18}$|^\d{17}(\d|X|x)$").Count == 0) return false;
|
|
return true;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 验证邮政编码
|
|
/// </summary>
|
|
public static bool IsPostalcode(string value)
|
|
{
|
|
if (value == "") return true;
|
|
if (Regex.Matches(value, @"^\d{6}$").Count == 0) return false;
|
|
return true;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 验证电话号码
|
|
/// </summary>
|
|
public static bool IsPhone(string value)
|
|
{
|
|
if (value == "") return true;
|
|
if (Regex.Matches(value, @"^^\d{11}$|\d{8}$|0\d{2,3}-?\d{8}$").Count == 0) return false;
|
|
return true;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 验证IP地址
|
|
/// </summary>
|
|
public static bool IsIP(string value)
|
|
{
|
|
if (value == "") return true;
|
|
string[] ss = value.Split('.');
|
|
if (ss.Length != 4) return false;
|
|
foreach (string s in ss)
|
|
{
|
|
if (DataRegex.IsNumberInteger(s, 0, 255) == false) return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 验证Url地址
|
|
/// </summary>
|
|
public static bool IsUrlAddress(string value)
|
|
{
|
|
if (value == "") return true;
|
|
if (Regex.Matches(value, @"^http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?$").Count == 0) return false;
|
|
return true;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 验证时间
|
|
/// </summary>
|
|
public static bool IsTime(string value)
|
|
{
|
|
if (value == "") return true;
|
|
if (Regex.Matches(value, @"^[0-1][0-9]:[0-5][0-9]:[0-5][0-9]$|^2[0-3]:[0-5][0-9]:[0-5][0-9]$").Count == 0) return false;
|
|
return true;
|
|
}
|
|
}
|
|
} |