Ios 如何检查输入的电子邮件是否为电子邮件格式

Ios 如何检查输入的电子邮件是否为电子邮件格式,ios,regex,swift,email,Ios,Regex,Swift,Email,如何检查输入的电子邮件是否正确。喜欢somename@gmail.com或者任何 这是我的代码。我试过了,但在if语句中出现了错误 import UIKit extension String { func matchPattern(patStr:String)->Bool { var isMatch:Bool = false do { let regex = try NSRegularExpression(pattern:

如何检查输入的电子邮件是否正确。喜欢somename@gmail.com或者任何

这是我的代码。我试过了,但在if语句中出现了错误

import UIKit

extension String {
    func matchPattern(patStr:String)->Bool {
        var isMatch:Bool = false
        do {
            let regex = try NSRegularExpression(pattern: patStr, options: [.CaseInsensitive])
            let result = regex.firstMatchInString(self, options: NSMatchingOptions(rawValue: 0), range: NSMakeRange(0, characters.count))

            if (result != nil)
            {
                isMatch = true
            }
        }
        catch {
            isMatch = false
        }
        return isMatch
    }
}

class RegisterVC: UIViewController {



    @IBOutlet weak var EmailField: UITextField!


    @IBOutlet weak var LocationField: UITextField!

    @IBOutlet weak var userNameField: UITextField!



    @IBOutlet weak var passWordField: UITextField!



    @IBOutlet weak var confirmPasswordField: UITextField!
override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }
@IBAction func SignUpBtnPress(sender: AnyObject) {
        let Email:NSString = EmailField.text!
        let Location:NSString = LocationField.text!
        let username:NSString = userNameField.text!
        let password:NSString = passWordField.text!
        let confirm_password:NSString = confirmPasswordField.text!

        if (Email.matchPattern("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$")==true)
        {
            print("this is e-mail!")
        }

        else if ( Email.isEqualToString("") || Location.isEqualToString("") || username.isEqualToString("") || password.isEqualToString("") || confirm_password.isEqualToString("") ) {


            let alertController = UIAlertController(title: "Alert", message: "All Field Are Mnditory.", preferredStyle: UIAlertControllerStyle.Alert)
            let DestructiveAction = UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in
                print("Settings")
            }

            alertController.addAction(DestructiveAction)

            self.presentViewController(alertController, animated: true, completion: nil)



        } else if ( !password.isEqual(confirm_password) ) {

            let alertController = UIAlertController(title: "Alert", message: "Password Din't Match.", preferredStyle: UIAlertControllerStyle.Alert)
            let DestructiveAction = UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in
                print("Password Din't Match")
            }

            alertController.addAction(DestructiveAction)

            self.presentViewController(alertController, animated: true, completion: nil)

        }




        print("login sucess")
}
我需要的是,如果任何用户开始使用错误格式绑定电子邮件id,我需要显示警报

谢谢你可以试试这个

-(BOOL)isValidEmailAddress:(NSString *)email
{
    BOOL stricterFilter = YES; 
    NSString *stricterFilterString = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
    NSString *laxString = @".+@.+\\.[A-Za-z]{2}[A-Za-z]*";
    NSString *emailRegex = stricterFilter ? stricterFilterString:laxString;
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
    return [emailTest evaluateWithObject:email];

}
快速版本

func isValidEmail(testStr:String) -> Bool {

println("validate emilId: \(testStr)")

let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}"

var emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx)

var result = emailTest?.evaluateWithObject(testStr)

return result!

}
电子邮件验证的使用:

   if isValidEmail(textField.text)
  {
      println("Validate EmailID")
  }
  else
  {
      println("invalide EmailID")
  }
更多信息

您可以试试这个

-(BOOL)isValidEmailAddress:(NSString *)email
{
    BOOL stricterFilter = YES; 
    NSString *stricterFilterString = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
    NSString *laxString = @".+@.+\\.[A-Za-z]{2}[A-Za-z]*";
    NSString *emailRegex = stricterFilter ? stricterFilterString:laxString;
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
    return [emailTest evaluateWithObject:email];

}
快速版本

func isValidEmail(testStr:String) -> Bool {

println("validate emilId: \(testStr)")

let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}"

var emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx)

var result = emailTest?.evaluateWithObject(testStr)

return result!

}
电子邮件验证的使用:

   if isValidEmail(textField.text)
  {
      println("Validate EmailID")
  }
  else
  {
      println("invalide EmailID")
  }

更多信息

这应该很好

   func isValidEmail(testStr:String) -> Bool {
            let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}"
            let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx)
            let result = emailTest.evaluateWithObject(testStr)
            return result
        }
用法:

if isValidEmail("xxxx@gmail.com"){
//email is valid
}

这应该很好用

   func isValidEmail(testStr:String) -> Bool {
            let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}"
            let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx)
            let result = emailTest.evaluateWithObject(testStr)
            return result
        }
用法:

if isValidEmail("xxxx@gmail.com"){
//email is valid
}
希望有帮助:

func isValidEmail(testStr:String) -> Bool {

    print("validate emilId: \(testStr)")
    let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"
    let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx)
    let result = emailTest.evaluateWithObject(testStr)
    return result

}
在代码中:

import UIKit

extension String {
    func matchPattern(patStr:String)->Bool {
        var isMatch:Bool = false
        do {
            let regex = try NSRegularExpression(pattern: patStr, options: [.CaseInsensitive])
            let result = regex.firstMatchInString(self, options: NSMatchingOptions(rawValue: 0), range: NSMakeRange(0, characters.count))

            if (result != nil)
            {
                isMatch = true
            }
        }
        catch {
            isMatch = false
        }
        return isMatch
    }
}

class RegisterVC: UIViewController {



    @IBOutlet weak var EmailField: UITextField!


    @IBOutlet weak var LocationField: UITextField!

    @IBOutlet weak var userNameField: UITextField!



    @IBOutlet weak var passWordField: UITextField!



    @IBOutlet weak var confirmPasswordField: UITextField!
override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }


func isValidEmail(testStr:String) -> Bool {

    print("validate emilId: \(testStr)")
    let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"
    let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx)
    let result = emailTest.evaluateWithObject(testStr)
    return result

}

@IBAction func SignUpBtnPress(sender: AnyObject) {
        let Email:NSString = EmailField.text!
        let Location:NSString = LocationField.text!
        let username:NSString = userNameField.text!
        let password:NSString = passWordField.text!
        let confirm_password:NSString = confirmPasswordField.text!

        if isValidEmail(Email) == true{
        {
            print("this is e-mail!")
        }

        else if ( Email.isEqualToString("") || Location.isEqualToString("") || username.isEqualToString("") || password.isEqualToString("") || confirm_password.isEqualToString("") ) {


            let alertController = UIAlertController(title: "Alert", message: "All Field Are Mnditory.", preferredStyle: UIAlertControllerStyle.Alert)
            let DestructiveAction = UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in
                print("Settings")
            }

            alertController.addAction(DestructiveAction)

            self.presentViewController(alertController, animated: true, completion: nil)



        } else if ( !password.isEqual(confirm_password) ) {

            let alertController = UIAlertController(title: "Alert", message: "Password Din't Match.", preferredStyle: UIAlertControllerStyle.Alert)
            let DestructiveAction = UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in
                print("Password Din't Match")
            }

            alertController.addAction(DestructiveAction)

            self.presentViewController(alertController, animated: true, completion: nil)

        }




        print("login sucess")
}
希望有帮助:

func isValidEmail(testStr:String) -> Bool {

    print("validate emilId: \(testStr)")
    let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"
    let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx)
    let result = emailTest.evaluateWithObject(testStr)
    return result

}
在代码中:

import UIKit

extension String {
    func matchPattern(patStr:String)->Bool {
        var isMatch:Bool = false
        do {
            let regex = try NSRegularExpression(pattern: patStr, options: [.CaseInsensitive])
            let result = regex.firstMatchInString(self, options: NSMatchingOptions(rawValue: 0), range: NSMakeRange(0, characters.count))

            if (result != nil)
            {
                isMatch = true
            }
        }
        catch {
            isMatch = false
        }
        return isMatch
    }
}

class RegisterVC: UIViewController {



    @IBOutlet weak var EmailField: UITextField!


    @IBOutlet weak var LocationField: UITextField!

    @IBOutlet weak var userNameField: UITextField!



    @IBOutlet weak var passWordField: UITextField!



    @IBOutlet weak var confirmPasswordField: UITextField!
override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }


func isValidEmail(testStr:String) -> Bool {

    print("validate emilId: \(testStr)")
    let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"
    let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx)
    let result = emailTest.evaluateWithObject(testStr)
    return result

}

@IBAction func SignUpBtnPress(sender: AnyObject) {
        let Email:NSString = EmailField.text!
        let Location:NSString = LocationField.text!
        let username:NSString = userNameField.text!
        let password:NSString = passWordField.text!
        let confirm_password:NSString = confirmPasswordField.text!

        if isValidEmail(Email) == true{
        {
            print("this is e-mail!")
        }

        else if ( Email.isEqualToString("") || Location.isEqualToString("") || username.isEqualToString("") || password.isEqualToString("") || confirm_password.isEqualToString("") ) {


            let alertController = UIAlertController(title: "Alert", message: "All Field Are Mnditory.", preferredStyle: UIAlertControllerStyle.Alert)
            let DestructiveAction = UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in
                print("Settings")
            }

            alertController.addAction(DestructiveAction)

            self.presentViewController(alertController, animated: true, completion: nil)



        } else if ( !password.isEqual(confirm_password) ) {

            let alertController = UIAlertController(title: "Alert", message: "Password Din't Match.", preferredStyle: UIAlertControllerStyle.Alert)
            let DestructiveAction = UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default) { (result : UIAlertAction) -> Void in
                print("Password Din't Match")
            }

            alertController.addAction(DestructiveAction)

            self.presentViewController(alertController, animated: true, completion: nil)

        }




        print("login sucess")
}


我是从斯威夫特开始的ios新手。如果可能的话,请使用swift。这将是帮助。询问swift的完整问题如何使用上述解决方案代码显示警报?以及那是什么
rdfsdfsd
?@user5513630它是字符串!!!我是从斯威夫特开始的ios新手。如果可能的话,请使用swift。这将是帮助。询问swift的完整问题如何使用上述解决方案代码显示警报?以及那是什么
rdfsdfsd
?@user5513630它是字符串!!!“if语句中出现错误”是一个无用的问题描述。哪个if语句和什么错误?除了实际联系主机并查看它是否会接受电子邮件之外,实在没有验证电子邮件地址的好方法。请参阅本文:“if语句中出现错误”是一个无用的问题描述。哪个if语句和什么错误?除了实际联系主机并查看它是否会接受电子邮件之外,实在没有验证电子邮件地址的好方法。看这篇文章:我只是复制了你的func方法,但是当我输入一封未格式化的电子邮件时,它并没有闪现??没关系,但是我如何在我的signupbutton pressd方法中调用这个方法呢?你需要稍微扩展一下正则表达式
emailRegEx=“[a-Z0-9a-z.\u%+-]+@[a-Za-Z0-9.-+\[a-Za-z]{2,15}”
-很多域结尾现在都超过4个字符。我只是复制了你的func方法,但当我输入一封未格式化的电子邮件时它不会闪现??没关系,但是我如何在我的signupbutton pressd方法中调用这个方法呢?你需要稍微扩展正则表达式
emailRegEx=“[A-Z0-9a-z.\U%+-]+@[A-Za-Z0-9.-+\.[A-Za-z]+\.[A-z]{2,15}”
-现在许多域结尾超过4个字符。错误。以下电子邮件有效,本测试表明无效
j@proseware.com9
js#internal@proseware.com
j_9@[129.126.118.1]
,`js@proseware.com9`与之相反的是:
j.@server1.prosware.com
j。。s@proseware.com
js@proseware..com
js@proseware..com
False。以下电子邮件有效,本测试表明无效
j@proseware.com9
js#internal@proseware.com
j_9@[129.126.118.1]
,`js@proseware.com9`与之相反的是:
j.@server1.prosware.com
j。。s@proseware.com
js@proseware..com
js@proseware..com