Swift: 使用正则表达式判断UITextField是否包含4个数字
可以通过正则表达式判断UITextField的文本是否包含4个数字。以下是一个示例代码:
import UIKit
extension String {
var containsFourDigits: Bool {
let regex = try! NSRegularExpression(pattern: '\d{4}')
let range = NSRange(location: 0, length: self.utf16.count)
return regex.firstMatch(in: self, range: range) != nil
}
}
class ViewController: UIViewController {
@IBOutlet weak var textField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
textField.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)
}
@objc func textFieldDidChange(_ textField: UITextField) {
if let text = textField.text {
let containsFourDigits = text.containsFourDigits
print('Contains four digits: (containsFourDigits)')
}
}
}
在这个示例中,通过给UITextField添加一个编辑改变事件的目标,可以在用户输入文本时实时判断文本中是否包含4个数字。
原文地址: https://www.cveoy.top/t/topic/p1gE 著作权归作者所有。请勿转载和采集!