密码规则 (PasswordRules)

一个用于定义强密码生成规则的 Swift 库。

此功能在 NSHipster 的文章 密码规则 / UIText​Input​Password​Rules 中进行了讨论。


要求

安装

Swift Package Manager

将 PasswordRules 包添加到您的 Package.swift 文件中的目标依赖项中

import PackageDescription

let package = Package(
  name: "YourProject",
  dependencies: [
    .package(
        url: "https://github.com/NSHipster/PasswordRules",
        from: "1.0.0"
    ),
  ]
)

然后运行 swift build 命令来构建您的项目。

Carthage

要使用 Carthage 在您的 Xcode 项目中使用 PasswordRules,请在 Cartfile 中指定它

github "NSHipster/PasswordRules" ~> 1.0.0

然后运行 carthage update 命令来构建 framework,并将构建好的 PasswordRules.framework 拖到您的 Xcode 项目中。

用法

定义一个 PasswordRules 枚举案例数组,并使用 descriptor(for:) 方法创建一个字符串表示形式

import PasswordRules

let rules: [PasswordRule] = [ .required(.upper),
                              .required(.lower),
                              .required(.special),
                              .minLength(20) ]

let descriptor = PasswordRule.descriptor(for: rules)
// "required: upper; required: lower; required: special; minlength: 20;"

使用描述符初始化一个 UITextInputPasswordRules 对象,并将其传递给安全文本字段的 passwordRules 属性

import UIKit

guard #available(iOS 12, *) else {
    fatalError()
}

self.passwordTextField.passwordRules =
    UITextInputPasswordRules(descriptor: descriptor)

许可证

MIT

联系方式

NSHipster (@NSHipster)