我正在构建连接到 firebase 的用户注册。我无法让 firebase 辨别电子邮件域是否有效,因此我想提供一组有效的众所周知的电子邮件域,用户必须为我的应用程序注册。我想对出现的无效电子邮件域进行错误处理,因此我需要能够将用户输入的电子邮件结尾与我允许的有效电子邮件数组进行比较。我如何检查以确认 ex: 'apples@gmail.com' 有效但 ex: 'apples@gnail.com' 无效?
let emails: Array = ["gmail.com", "yahoo.com", "comcast.net", "hotmail.com", "msn.com", "verizon.net"]
@IBAction func nextBtnPressed(_ sender: Any) {
let ref: DatabaseReference!
ref = Database.database().reference()
if let email = emailTextField.text, let pwd = passwordTextField.text, let firstName = firstNameTextField.text, let lastName = lastNameTextField.text, let dob = birthdayTextField.text {
if pwd != self.reEnterPassTextField.text {
errorMessageLbl.text = "Passwords do not match"
errorMessageLbl.isHidden = false
return
} else if firstName == "" || lastName == "" || dob == ""{
errorMessageLbl.text = "Cannot leave fields blank"
errorMessageLbl.isHidden = false
return
} else if email.characters.elementsEqual([emails]) {
print("Failure")
最佳答案
您可以执行此操作的方法之一:
let validDomains = ["gmail.com", "yahoo.com", "comcast.net", "hotmail.com", "msn.com", "verizon.net"]
let emailTextBlockText = "example@gmail.com"
if let domain = emailTextBlockText.components(separatedBy: "@").last, validDomains.contains(domain) {
// Entered email has valid domain.
}
关于 swift 3 : Determining if an email domain is valid with Firebase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45208418/