swift 3 : Determining if an email domain is valid with Firebase

标签 swift firebase firebase-realtime-database

我正在构建连接到 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/

相关文章:

ios - JSQMessagesViewController incomingMessagesBubble 粘在右边

Firebase 函数不会看到本地运行的 pubsub 模拟器

swift - Firestore:如何在集合中获取随机文档

swift - 如何检索从 TableView 中选择的用户的帖子

Swift 3D Touch iOS 10 主屏幕快速操作共享项目丢失

ios - 通过 NSDate 对象属性快速过滤

JavaScript : I cannot access JSON objects inside an array using array index

javascript - Firebase 数据库 javascript set() 不写

ios - 如何等待所有数据下载完成并显示在TableView上?

ios - Swift 3 中 Firebase 同步性不起作用的解决方法