• This repository has been archived on 17/Oct/2021
  • Stars
    star
    278
  • Rank 148,454 (Top 3 %)
  • Language
    Swift
  • License
    MIT License
  • Created over 6 years ago
  • Updated about 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Swift library for defining strong password generation rules

PasswordRules

A Swift library for defining strong password generator rules.

This functionality is discussed in the NSHipster article Password Rules / UIText​Input​Password​Rules.


Requirements

  • Swift 4.0+

Installation

Swift Package Manager

Add the PasswordRules package to your target dependencies in Package.swift:

import PackageDescription

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

Then run the swift build command to build your project.

Carthage

To use PasswordRules in your Xcode project using Carthage, specify it in Cartfile:

github "NSHipster/PasswordRules" ~> 1.0.0

Then run the carthage update command to build the framework, and drag the built PasswordRules.framework into your Xcode project.

Usage

Define an array of PasswordRules cases and use the descriptor(for:) method to create a string representation:

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;"

Initialize a UITextInputPasswordRules object using the descriptor and pass that to the passwordRules property of a secure text field:

import UIKit

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

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

License

MIT

Contact

NSHipster (@NSHipster)

More Repositories

1

articles

Articles for NSHipster.com
1,209
star
2

ConfettiView

A view that emits confetti 🎉
Swift
544
star
3

nshipster.com

A journal of the overlooked bits in Objective-C, Swift, and Cocoa.
SCSS
281
star
4

clangwarnings.com

A list of Clang warnings and their descriptions.
276
star
5

SwiftSyntaxHighlighter

A syntax highlighter for Swift code that uses SwiftSyntax to generate Pygments-compatible HTML.
Swift
275
star
6

DictionaryKit

An Objective-C Wrapper for Private Dictionary Services on Mac OS X
Objective-C
241
star
7

HypertextLiteral

Generate HTML, XML, and other web content using Swift string literal interpolation
Swift
225
star
8

AVSpeechSynthesizer-Example

A companion project to the NSHipster article about AVSpeechSynthesizer
Swift
160
star
9

XcodeBuildSettings.com

A convenient reference of available build settings for Xcode projects.
SCSS
152
star
10

articles-zh-Hans

Articles for NSHipster.cn
119
star
11

DynamicDesktop

Companion playgrounds to the NSHipster article about macOS Dynamic Desktops.
Swift
102
star
12

DBSCAN

Density-based spatial clustering of applications with noise
Swift
86
star
13

ibcolortool

List all colors in Storyboards and XIB files
Swift
80
star
14

Image-Resizing-Example

Swift
78
star
15

swift-log-github-actions

GitHub Actions workflow logging for Swift
Swift
72
star
16

swift-gyb

Evaluates and runs a Swift GYB script
Swift
66
star
17

ContactTracing-Framework-Interface

Objective-C header and synthesized Swift interface for Apple & Google's Contact Tracing Framework
Objective-C
58
star
18

xcderiveddata

A command-line utility that prints the path of the derived data directory for the current Xcode project
Shell
55
star
19

uti

A command-line utility that prints the Uniform Type Identifier for files.
Shell
31
star
20

Swift-Documentation-Example

A companion project to the NSHipster article about Swift Documentation
Swift
29
star
21

JavaScriptCore-JSExport-Example

An example of using Swift with JavaScriptCore's JSExport Protocol
Swift
25
star
22

Cycle

A sequence that cycles between each of the items in a given sequence.
Swift
24
star
23

nshipster.cn

NSHipster 关注被忽略的 Objective-C、Swift 和 Cocoa 特性。每周更新。
CSS
23
star
24

MapKitJS-Demo

Swift
22
star
25

homebrew-formulae

Collection of Homebrew Formulae
Ruby
21
star
26

articles-ko

Articles for NSHipster.co.kr
21
star
27

update-homebrew-formula-action

Synchronizes a Homebrew formula with a GitHub release
Ruby
21
star
28

UITableViewHeaderFooterView-Demo

Swift
13
star
29

articles-es

Articles for NSHipster.es
6
star
30

articles-fr

Articles for NSHipster.fr
2
star