Swift 3:确定电子邮件域是否对Firebase有效

Swift 3:确定电子邮件域是否对Firebase有效,swift,firebase,firebase-realtime-database,Swift,Firebase,Firebase Realtime Database,我正在建立一个连接到firebase的用户注册。我无法让firebase识别电子邮件域是否有效,因此我想提供一系列有效的知名电子邮件域,用户可以注册我的应用程序。我想对出现的无效电子邮件域进行错误处理,因此我需要能够将用户输入的电子邮件结尾与我允许的有效电子邮件数组进行比较。我如何检查以确认ex:'apples@gmail.com'有效,但例如:'apples@gnail.com'是无效的吗 let email:Array=[“gmail.com”、“yahoo.com”、“comcast.n

我正在建立一个连接到firebase的用户注册。我无法让firebase识别电子邮件域是否有效,因此我想提供一系列有效的知名电子邮件域,用户可以注册我的应用程序。我想对出现的无效电子邮件域进行错误处理,因此我需要能够将用户输入的电子邮件结尾与我允许的有效电子邮件数组进行比较。我如何检查以确认ex:'apples@gmail.com'有效,但例如:'apples@gnail.com'是无效的吗

let email:Array=[“gmail.com”、“yahoo.com”、“comcast.net”、“hotmail.com”、“msn.com”、“verizon.net”]
@iAction func nextBtnPressed(\发送方:任何){
让我们参考:数据库参考!
ref=Database.Database().reference()
如果让email=emailTextField.text,让pwd=passwordTextField.text,让firstName=firstNameTextField.text,让lastName=lastNameTextField.text,让dob=birthdayTextField.text{
如果pwd!=self.reEnterPassTextField.text{
errorMessageLbl.text=“密码不匹配”
errorMessageLbl.isHidden=false
返回
}如果firstName==“”| | lastName==“”| | dob==“”,则为else{
errorMessageLbl.text=“不能将字段留空”
errorMessageLbl.isHidden=false
返回
}else if email.characters.elementsEqual([emails]){

打印(“失败”)
执行此操作的方法之一:

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.
}

其中一种方法是:

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.
}

你打算将注册限制在你提供的域上吗?这意味着排除了很多用户。对我来说,检查拼写错误似乎更合理,或者让用户选择带有选择列表和文本字段的域。有很多这样的项目:你打算将注册限制在你提供的域上吗?这意味着排除了很多用户。对我来说,检查拼写错误似乎更符合逻辑,或者让用户选择带有选择列表和文本字段的域。有很多这样的项目:在我修改位置或变量后,最终效果很好。感谢你,在我修改了位置或变量。谢谢