首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >电子邮件验证迅捷2

电子邮件验证迅捷2
EN

Stack Overflow用户
提问于 2016-06-21 22:02:08
回答 4查看 1.3K关注 0票数 2

如何限制用户在文本框中输入电子邮件地址。问题是,我的警告没有显示,只是注册而不检查电子邮件字段是否有效。

代码语言:javascript
复制
if ( username.isEmpty || email.isEmpty || password.isEmpty || phonenumper.isEmpty) {

    let alert = UIAlertController(title: "Sign Up Failed!", message:"Please enter your data for Signup", preferredStyle: .Alert)
    alert.addAction(UIAlertAction(title: "OK ", style: .Default) { _ in })
    self.presentViewController(alert, animated: true){}
}

else {
    if (isValidEmail(UserEmailTextFiled.text!)) {
        let alert = UIAlertController(title: "Inviled Email", message:"Please enter your Email", preferredStyle: .Alert)
        alert.addAction(UIAlertAction(title: "OK ", style: .Default) { _ in })
        self.presentViewController(alert, animated: true){}

    }else{
    //code

    }
func isValidEmail(testStr:String) -> Bool {
        let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,64}"
        let range = testStr.rangeOfString(emailRegEx, options:.RegularExpressionSearch)
        let result = range != nil ? true : false
        return result
    }
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-06-21 22:12:36

根据您发布的代码,if (isValidEmail(UserEmailTextFiled.text!)) {...意味着如果电子邮件有效,将显示无效的电子邮件警报。您只需使用! if (!isValidEmail(UserEmailTextFiled.text!)) {反转结果即可。

票数 2
EN

Stack Overflow用户

发布于 2017-11-24 12:04:48

代码语言:javascript
复制
public func isValidEmailAddress() -> Bool {
    let emailRegex = "^[\\w!#$%&'*+/=?`{|}~^-]+(?:\\.[\\w!#$%&'*+/=?`{|}~^-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,6}$"
    return NSPredicate(format: "SELF MATCHES %@", emailRegex).evaluate(with: self)
}

这是SWIFT3.0功能和regex。只需复制/粘贴您的助手或扩展名文件,并使用它。

票数 1
EN

Stack Overflow用户

发布于 2017-11-25 04:41:35

Swift 3.0

代码语言:javascript
复制
extension  String {

    func nsstring () -> NSString {
        return (self as NSString)
    }

    func isValidEmailAddress () -> Bool
    {

        var returnValue = true
        let emailRegEx = "[A-Z0-9a-z.-_]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,3}"
        do {
            let regex = try NSRegularExpression(pattern: emailRegEx)

            let results = regex.matches(in: self.trimmingCharacters(in: .whitespacesAndNewlines), range: NSRange(location: 0, length: self.characters.count))
            if results.count == 0
            {
                returnValue = false
            }
        }
        catch let error as NSError
        {
            print("invalid regex: \(error.localizedDescription)")
            returnValue = false
        }
        return  returnValue
    }    
}

In ViewController

代码语言:javascript
复制
let isValidEmail = yourtextField?.text?.isValidEmailAddress()
if isValidEmail!
{ 
 //Code Here
}
else
{
 //Error Code Here
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37955320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档