Veil

Swift codecov

简单且灵活的字符串掩码实用程序。

特性

安装

Veil 支持 SwiftPM,只需将此仓库 URL 复制到您的 Xcode 项目中即可

用法

Veil 通过提供特殊字符模式来实现字符串掩码。

例如,要创建一个 mm / yy 的日期格式化程序,就像这样简单

let dateMask = Veil(pattern: "## / ##")
let result = dateMask.mask(input: "234")
// result = "23 / 4"

Veil 使用配置对象来指定如何解析掩码模式。默认配置使用 # 表示任何数字,使用 * 表示其他字符。

另请注意,Veil 会将任何其他字符(如 / 和空格)作为模式中的符号拾取,并自动将其插入到结果字符串中。

UITextField 集成

UITextField 集成很简单,不需要使用其代理。

这就是您可以实现文本字段实时掩码的方法。

let dateMask = Veil(pattern: "## / ##")

@objc func textDidChange(_ sender: UITextField) {
    guard let currentText = sender.text else  {
        return
    }

    sender.text = dateMask.mask(input: currentText, exhaustive: false)
}

当执行实时输入的掩码时,请确保将 exhaustive 选项设置为 false