70 lines
1.9 KiB
C#
70 lines
1.9 KiB
C#
using System;
|
||
using System.Text.RegularExpressions;
|
||
|
||
namespace Kill.Utils
|
||
{
|
||
/// <summary>
|
||
/// 验证工具类
|
||
/// 提供常用的数据验证方法
|
||
/// </summary>
|
||
public static class ValidationUtils
|
||
{
|
||
#region 邮箱验证
|
||
|
||
/// <summary>
|
||
/// 验证邮箱格式是否有效(正则验证,更严格)
|
||
/// </summary>
|
||
public static bool IsValidEmailStrict(string email)
|
||
{
|
||
if (string.IsNullOrEmpty(email))
|
||
return false;
|
||
|
||
// RFC 5322 标准邮箱正则
|
||
string pattern = @"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$";
|
||
return Regex.IsMatch(email, pattern);
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 密码验证
|
||
|
||
/// <summary>
|
||
/// 验证简单密码格式(6位数字)
|
||
/// </summary>
|
||
public static bool IsValidSimplePassword(string password)
|
||
{
|
||
if (string.IsNullOrEmpty(password))
|
||
return false;
|
||
|
||
// 6位数字
|
||
string pattern = @"^\d{6}$";
|
||
return Regex.IsMatch(password, pattern);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 验证复杂密码格式(6-16位,同时包含数字、字母和特殊字符)
|
||
/// </summary>
|
||
public static bool IsValidComplexPassword(string password)
|
||
{
|
||
if (string.IsNullOrEmpty(password))
|
||
return false;
|
||
|
||
// 长度6-16位
|
||
if (password.Length < 6 || password.Length > 16)
|
||
return false;
|
||
|
||
// 必须包含数字
|
||
bool hasDigit = Regex.IsMatch(password, @"\d");
|
||
// 必须包含字母
|
||
bool hasLetter = Regex.IsMatch(password, @"[a-zA-Z]");
|
||
// 必须包含特殊字符
|
||
bool hasSpecial = Regex.IsMatch(password, @"[!@#$%^&*()_+\-=\[\]{};':""\\|,.<>\/?]");
|
||
|
||
return hasDigit && hasLetter && hasSpecial;
|
||
}
|
||
|
||
|
||
#endregion
|
||
}
|
||
}
|