RegularValidate.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. // 大名科技(天津)有限公司 版权所有
  2. //
  3. // 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
  4. //
  5. // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动
  6. //
  7. // 任何基于本项目二次开发而产生的一切法律纠纷和责任,均与作者无关
  8. namespace Admin.NET.Core;
  9. /// <summary>
  10. /// 正则校验
  11. /// </summary>
  12. public static class RegularValidate
  13. {
  14. /// <summary>
  15. /// 验证密码规则
  16. /// </summary>
  17. /// <param name="password"></param>
  18. /// <returns></returns>
  19. public static bool ValidatePassword(string password)
  20. {
  21. var regex = new Regex(@"
  22. (?=.*[0-9]) #必须包含数字
  23. (?=.*[a-z]) #必须包含小写
  24. (?=.*[A-Z]) #必须包含大写
  25. (?=([\x21-\x7e]+)[^a-zA-Z0-9]) #必须包含特殊符号
  26. .{8,30} #至少8个字符,最多30个字符
  27. ", RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);
  28. //如果要求必须包含小写、大写字母,则上面的(?=.*[a-zA-Z]) 要改为:
  29. /*
  30. * (?=.*[a-z])
  31. * (?=.*[A-Z])
  32. */
  33. return regex.IsMatch(password);
  34. }
  35. }