2.3 身份证验证#region IsIdCard(是否身份证号码)/// <summary>/// 是否身份证号码/// </summary>/// <param name="value">身份证</param>/// <returns></returns>public static bool IsIdCard(string value){if (value.IsEmpty()){return false;}if (value.Length == 15){return value.IsMatch(@"^[1-9]d{7}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}$");}return value.Length == 0x12 &&value.IsMatch(@"^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])((d{4})|d{3}[Xx])$",RegexOptions.IgnoreCase);}#endregion
2.4 Base64编码验证#region IsBase64String(是否Base64编码)/// <summary>/// 是否Base64编码/// </summary>/// <param name="value">Base64字符串</param>/// <returns></returns>public static bool IsBase64String(string value){return value.IsMatch(@"[A-Za-z0-9+/=]");}#endregion
2.5 时间验证#region IsDate(是否日期)/// <summary>/// 是否日期/// </summary>/// <param name="value">日期字符串</param>/// <param name="isRegex">是否正则验证</param>/// <returns></returns>public static bool IsDate(string value,bool isRegex=false){if (value.IsEmpty()){return false;}if (isRegex){//考虑到4年一度的366天,还有特殊的2月的日期returnvalue.IsMatch(@"^((((1[6-9]|[2-9]d)d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]d|3[01]))|(((1[6-9]|[2-9]d)d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]d|30))|(((1[6-9]|[2-9]d)d{2})-0?2-(0?[1-9]|1d|2[0-8]))|(((1[6-9]|[2-9]d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?d):[0-5]?d:[0-5]?d$");}DateTime minValue;return DateTime.TryParse(value, out minValue);}/// <summary>/// 是否日期/// </summary>/// <param name="value">日期字符串</param>/// <param name="format">格式化字符串</param>/// <returns></returns>public static bool IsDate(string value, string format){return IsDate(value, format, null, DateTimeStyles.None);}/// <summary>/// 是否日期/// </summary>/// <param name="value">日期字符串</param>/// <param name="format">格式化字符串</param>/// <param name="provider">格式化提供者</param>/// <param name="styles">日期格式</param>/// <returns></returns>public static bool IsDate(string value, string format, IFormatProvider provider, DateTimeStyles styles){if (value.IsEmpty()){return false;}DateTime minValue;return DateTime.TryParseExact(value, format, provider, styles, out minValue);}#endregion#region IsDateTime(是否有效时间)/// <summary>/// 是否大于最小时间/// </summary>/// <param name="value">时间</param>/// <param name="min">最小时间</param>/// <returns></returns>public static bool IsDateTimeMin(string value, DateTime min){if (value.IsEmpty()){return false;}DateTime dateTime;if (DateTime.TryParse(value, out dateTime)){if (DateTime.Compare(dateTime, min) >= 0){return true;}}return false;}/// <summary>/// 是否小于最大时间/// </summary>/// <param name="value">时间</param>/// <param name="max">最大时间</param>/// <returns></returns>public static bool IsDateTimeMax(string value, DateTime max){if (value.IsEmpty()){return false;}DateTime dateTime;if (DateTime.TryParse(value, out dateTime)){if (DateTime.Compare(max, dateTime) >= 0){return true;}}return false;}#endregion
2.6 Url验证#region IsUrl(是否Url地址)/// <summary>/// 是否Url地址(统一资源定位)/// </summary>/// <param name="value">url地址</param>/// <returns></returns>public static bool IsUrl(string value){if (value.IsEmpty()){return false;}returnvalue.IsMatch(@"^(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.,?'\+&%$#=~_-]+))*$",RegexOptions.IgnoreCase);}#endregion#region IsUri(是否Uri)/// <summary>/// 是否Uri(统一资源标识)/// </summary>/// <param name="value">uri</param>/// <returns></returns>public static bool IsUri(string value){if (value.IsEmpty()){return false;}if (value.IndexOf(".", StringComparison.OrdinalIgnoreCase) == -1){return false;}var schemes = new[]{"file","ftp","gopher","http","https","ldap","mailto","net.pipe","net.tcp","news","nntp","telnet","uuid"};bool hasValidSchema = false;foreach (string scheme in schemes){if (hasValidSchema){continue;}if (value.StartsWith(scheme, StringComparison.OrdinalIgnoreCase)){hasValidSchema = true;}}if (!hasValidSchema){value = https://www.isolves.com/it/cxkf/yy/C/2021-12-27/"http://" + value;}return Uri.IsWellFormedUriString(value, UriKind.Absolute);}#endregion#region IsMainDomain(是否主域名)///
推荐阅读
- 小种红茶简介,红茶的种类价格
- 川红茶真假,川宁红茶种类
- 红茶的种类及产地,红茶的种类及特征
- 红茶中国红口感,红茶种类大全
- 红茶的种类功效,泡红茶种类
- 川宁红茶什么水平,川宁红茶种类
- 红茶的盛产地,红茶的种类和图片大全
- 红茶几月份采摘,红茶的制作种类
- 祁门红茶的种类图片,祁门红茶减肥吗
- 红茶种类大红袍,祁红红茶和大红袍