Andrew Fletcher published: 15 July 2020 (updated) 28 December 2020 1 minute read
I'm currently working on a project that requires login, register, forget password functionality in SwiftUI. As I'm developing the code, I came across a great resource for validating an email address with Regex:
In the end, I leveraged the worked produced on https://stackoverflow.com/questions/25471114/how-to-validate-an-e-mail-address-in-swift
The code used:
extension String {
var isValidEmail: Bool {
let name = "[A-Z0-9a-z]([A-Z0-9a-z._%+-]{0,30}[A-Z0-9a-z])?"
let domain = "([A-Z0-9a-z]([A-Z0-9a-z-]{0,30}[A-Z0-9a-z])?\\.){1,5}"
let emailRegEx = name + "@" + domain + "[A-Za-z]{2,8}"
let emailPredicate = NSPredicate(format: "SELF MATCHES %@", emailRegEx)
return emailPredicate.evaluate(with: self)
}
}