Swift 中的电子邮件和电话验证
要在 Swift 语言中验证电子邮件和电话,我们可以使用多个条件语句,例如 if 条件,但这是一个漫长的过程,可能包含 50 到 100 个 if 语句才能验证电子邮件。
因此,我们使用正则表达式代替条件语句。Swift 提供了 NSPredicate,我们可以用它来评估正则表达式并对其进行测试。
我们来看看如何使用正则表达式执行相同的操作。
我们将创建一个函数,可在整个项目中用作 String 类或 UIViewController 的扩展。
将以下代码添加到项目中的任何类,或创建一个单独的 Swift 类来添加扩展。
extension String {
var isValidEmail: Bool {
let regularExpressionForEmail = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,64}"
let testEmail = NSPredicate(format:"SELF MATCHES %@", regularExpressionForEmail)
return testEmail.evaluate(with: self)
}
var isValidPhone: Bool {
let regularExpressionForPhone = "^\d{3}-\d{3}-\d{4}$"
let testPhone = NSPredicate(format:"SELF MATCHES %@", regularExpressionForPhone)
return testPhone.evaluate(with: self)
}
}使用方法:
override func viewDidLoad() {
super.viewDidLoad()
print("11f".isValidEmail)
print("abc@xuyz.com".isValidEmail)
print("8892".isValidPhone)
print("998-877-2211".isValidPhone)
}在运行上述代码时,我们将获得以下输出。
false true false true

广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP