using System.Text.RegularExpressions;
namespace Commons.Helpers
{
/// <summary>
/// 验证助手类
/// </summary>
public class ValidHelper
{
#region 验证只能是字母或数字
/// <summary>
/// 验证只能是字母或数字
/// </summary>
/// <param name="str">验证的字符串</param>
/// <returns>判断结果</returns>
public static bool IsLetterOrnumber(string str)
{
Regex r = new Regex("^[0-9a-zA-Z]*$");
return !r.IsMatch(str);
}
#endregion
#region 验证是否为正整数
/// <summary>
/// 验证是否为正整数
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool IsInt(string str)
{
return Regex.IsMatch(str, @"^[0-9]*$");
}
#endregion
#region 验证是否符合email格式
/// <summary>
/// 验证是否符合email格式
/// </summary>
/// <param name="strEmail">要判断的email字符串</param>
/// <returns>判断结果</returns>
public static bool IsValidEmail(string strEmail)
{
//return Regex.IsMatch(strEmail, @"^[A-Za-z0-9-_]+@[A-Za-z0-9-_]+[\.][A-Za-z0-9-_]");
return Regex.IsMatch(strEmail, @"^[\w\.]+@[A-Za-z0-9-_]+[\.][A-Za-z0-9-_]");
}
public static bool IsValidDoEmail(string strEmail)
{
return Regex.IsMatch(strEmail, @"^@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
}
#endregion
#region 验证是否是正确的Url
/// <summary>
/// 验证是否是正确的Url
/// </summary>
/// <param name="strUrl">要验证的Url</param>
/// <returns>判断结果</returns>
public static bool IsURL(string strUrl)
{
return Regex.IsMatch(strUrl, @"^(http|https)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)*((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|localhost|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{1,10}))(\:[0-9]+)*(/($|[a-zA-Z0-9\.\,\?\'\\\+&%\$#\=~_\-]+))*$");
}
#endregion
#region 验证是否为IP
/// <summary>
/// 验证是否为IP
/// </summary>
/// <param name="ip"></param>
/// <returns></returns>
public static bool IsIP(string ip)
{
return Regex.IsMatch(ip, @"^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$");
}
public static bool IsIPSect(string ip)
{
return Regex.IsMatch(ip, @"^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){2}((2[0-4]\d|25[0-5]|[01]?\d\d?|\*)\.)(2[0-4]\d|25[0-5]|[01]?\d\d?|\*)$");
}
#endregion
#region 验证是否为手机号码
/// <summary>
/// 验证是否为手机号码
/// </summary>
/// <param name="handset"></param>
/// <returns></returns>
public static bool IsHandset(string handset)
{
return System.Text.RegularExpressions.Regex.IsMatch(handset, @"^[1]+[3,5,8]+\d{9}");
}
#endregion
#region 验证是否为身份证号码
/// <summary>
/// 验证是否为身份证号码
/// </summary>
/// <param name="idcard"></param>
/// <returns></returns>
public static bool IsIDcard(string idcard)
{
return System.Text.RegularExpressions.Regex.IsMatch(idcard, @"(^\d{18}$)|(^\d{15}$)");
}
#endregion
#region 验证是否是时间格式
/// <summary>
/// 验证是否是时间格式
/// </summary>
/// <returns></returns>
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])?)$");
}
#endregion
#region 检测是否有Sql危险字符
/// <summary>
/// 检测是否有Sql危险字符
/// </summary>
/// <param name="str">要判断字符串</param>
/// <returns>判断结果</returns>
public static bool IsSafeSqlString(string str)
{
return !Regex.IsMatch(str, @"[-|;|,|\/|\(|\)|\[|\]|\}|\{|%|@|\*|!|\']");
}
#endregion
#region 判断是否为base64字符串
/// <summary>
/// 判断是否为base64字符串
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool IsBase64String(string str)
{
//A-Z, a-z, 0-9, +, /, =
return Regex.IsMatch(str, @"[A-Za-z0-9\+\/\=]");
}
#endregion
#region 返回指定IP是否在指定的IP数组所限定的范围内
/// <summary>
/// 返回指定IP是否在指定的IP数组所限定的范围内, IP数组内的IP地址可以使用*表示该IP段任意, 例如192.168.1.*
/// </summary>
/// <param name="ip"></param>
/// <param name="iparray"></param>
/// <returns></returns>
public static bool InIPArray(string ip, string[] iparray)
{
string[] userip = StringHelper.SplitString(ip, @".");
for (int ipIndex = 0; ipIndex < iparray.Length; ipIndex++)
{
string[] tmpip = StringHelper.SplitString(iparray[ipIndex], @".");
int r = 0;
for (int i = 0; i < tmpip.Length; i++)
{
if (tmpip[i] == "*")
{
return true;
}
if (userip.Length > i)
{
if (tmpip[i] == userip[i])
{
r++;
}
else
{
break;
}
}
else
{
break;
}
}
if (r == 4)
{
return true;
}
}
return false;
}
#endregion
#region 判断字符串是否是yy-mm-dd字符串
/// <summary>
/// 判断字符串是否是yy-mm-dd字符串
/// </summary>
/// <param name="str">待判断字符串</param>
/// <returns>判断结果</returns>
public static bool IsDateString(string str)
{
return Regex.IsMatch(str, @"(\d{4})-(\d{1,2})-(\d{1,2})");
}
#endregion
#region 验证是否符合扩展名要求
/// <summary>
/// 验证是否符合扩展名要求
/// </summary>
/// <param name="extensions">扩展名字符串</param>
/// <param name="fileName">文件名</param>
/// <returns>判断结果</returns>
public static bool IsValidFileExtensions(string extensions, string fileName)
{
string strPattern = string.Format(@"^.+\.(?:{0})$", extensions.Replace(',', '|'));
Regex reg = new Regex(strPattern, RegexOptions.CultureInvariant | RegexOptions.IgnoreCase);
return reg.IsMatch(fileName);
}
#endregion
}
}
验证管理类目
最新推荐文章于 2022-09-02 15:00:03 发布