一些常用的值类型验证C#
/// <summary>
/// 是否为GUID
/// </summary>
/// <param name="expression"></param>
/// <returns></returns>
public static bool IsGUID(string expression)
{
if (expression != null)
{
Regex guidRegEx = new Regex(@"^(\{{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}\}{0,1})$");
return guidRegEx.IsMatch(expression);
}
return false;
}
/// <summary>
/// 是否是int类型
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static bool IsNumber(string value)
{
int temp;
if (int.TryParse(value, out temp))
{
return true;
}
else
return false;
}
/// <summary>
/// 检查字符串中的每一个字符是否为int类型
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static bool IsNumberChar(string value)
{
foreach (char s in value)
{
if (!IsNumber(Convert.ToString(s))) return false;
}
return true;
}
/// <summary>
/// 检查数字型字符串,用XX分开
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static bool IsNumberChar(string value, string split)
{
foreach (string s in StringUtil.SplitString(value, split))
{
if (!IsNumber(Convert.ToString(s))) return false;
}
return true;
}
/// <summary>
/// 判断某个字串在字符串中是否存在
/// </summary>
/// <param name="str"></param>
/// <param name="lookstr"></param>
/// <returns></returns>
public static bool IsHave(string str, string lookstr)
{
foreach (string s in StringUtil.SplitString(str, ","))
if (s.Trim() == lookstr.Trim()) return true;
return false;
}
/// <summary>
/// 判断是否为json
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static bool IsJson(string input)
{
input = input.Trim();
return input.StartsWith("{") && input.EndsWith("}") || input.StartsWith("[") && input.EndsWith("]");
}
/// <summary>
/// 判断输入是否中文
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsChinese(string source)
{
return Regex.IsMatch(source, @"^[\u4e00-\u9fa5]+$", RegexOptions.IgnoreCase);
}
/// <summary>
/// 判断输入是否含有中文
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool HasChinese(string source)
{
return Regex.IsMatch(source, @"[\u4e00-\u9fa5]+", RegexOptions.IgnoreCase);
}
/// <summary>
/// 验证是不是正常字符 字母,数字,下划线的组合
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsNormalChar(string source)
{
return Regex.IsMatch(source, @"[\w\d_]+", RegexOptions.IgnoreCase);
}
/// <summary>
/// 验证是不是由数字和26个英文字母组成的字符串
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsNormalChar2(string source)
{
return Regex.IsMatch(source, @"[A-Za-z0-9]+$", RegexOptions.IgnoreCase);
}
/// <summary>
/// 是否为合法的电话号码
/// </summary>
/// <param name="strIn">输入字符串</param>
/// <returns>true/false</returns>
public static bool IsValidTel(string strIn)
{
return Regex.IsMatch(strIn, @"(\d+-)?(\d{4}-?\d{7}|\d{3}-?\d{8}|^\d{7,8})(-\d+)?");
}
/// <summary>
/// 验证是否为日期格式
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsDateTime(string source)
{
try
{
DateTime time = Convert.ToDateTime(source);
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 验证IP是否合法
/// </summary>
/// <param name="strIn"></param>
/// <returns></returns>
public static bool IsValidIp(string strIn)
{
return Regex.IsMatch(strIn, @"^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$");
}
/// <summary>
/// 验证Email是否合法
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsEmail(string source)
{
return Regex.IsMatch(source, @"^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$", RegexOptions.IgnoreCase);
}
/// <summary>
/// 验证是否有Email
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool HasEmail(string source)
{
return Regex.IsMatch(source, @"[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})", RegexOptions.IgnoreCase);
}
/// <summary>
/// 验证网址是否合法
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsUrl(string source)
{
//source = source.Trim();
if (string.IsNullOrEmpty(source)) return false;
return Regex.IsMatch(source, @"^(((file|gopher|news|nntp|telnet|http|ftp|https|ftps|sftp)://)|(www\.))+(([a-zA-Z0-9\._-]+\.[a-zA-Z]{2,6})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(/[a-zA-Z0-9\&%_\./-~-]*)?$", RegexOptions.IgnoreCase);
//return System.Text.RegularExpressions.Regex.IsMatch(source, @"http(s)?://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)?");
}
/// <summary>
/// 检查是否有网址
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool HasUrl(string source)
{
return Regex.IsMatch(source, @"(((file|gopher|news|nntp|telnet|http|ftp|https|ftps|sftp)://)|(www\.))+(([a-zA-Z0-9\._-]+\.[a-zA-Z]{2,6})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(/[a-zA-Z0-9\&%_\./-~-]*)?", RegexOptions.IgnoreCase);
}
/// <summary>
/// 验证身份证号码
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsIDNumber(string source)
{
return Regex.IsMatch(source, @"(^\d{18}$)|(^\d{15}$)", RegexOptions.IgnoreCase);
}
/// <summary>
/// 验证手机号
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsMobile(string source)
{
return Regex.IsMatch(source, @"^1[3578]\d{9}$", RegexOptions.IgnoreCase);
}
/// <summary>
/// 验证是否有手机号
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool HasMobile(string source)
{
return Regex.IsMatch(source, @"1[3578]\d{9}", RegexOptions.IgnoreCase);
}
/// <summary>
/// 检查字符串的长度是不是在限定数之间 一个中文为两个字符
/// </summary>
/// <param name="source"></param>
/// <param name="begin"></param>
/// <param name="end"></param>
/// <returns></returns>
public static bool IsLengthStr(string source, int begin, int end)
{
int length = Regex.Replace(source, @"[^\x00-\xff]", "OK").Length;
if ((length <= begin) && (length >= end))
{
return false;
}
return true;
}
/// <summary>
/// 检查邮编
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsPostCode(string source)
{
return Regex.IsMatch(source, @"^\d{6}$", RegexOptions.IgnoreCase);
}
/// <summary>
/// 是否为真的图片
/// </summary>
/// <param name="postedFile"></param>
/// <returns></returns>
public static bool IsValidImage(System.Web.HttpPostedFile postedFile)
{
string sMimeType = postedFile.ContentType.ToLower();
if (sMimeType.IndexOf("image/") < 0)
return false;
if (postedFile.ContentLength < 50)
return false;
try
{
System.Drawing.Image img = System.Drawing.Image.FromStream(postedFile.InputStream);
if (img.Width * img.Height < 1)
return false;
img.Dispose();
}
catch
{
return false;
}
return true;
}

浙公网安备 33010602011771号