class func isValidEmail(testStr:String) -> Bool {
let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"
let range = testStr.rangeOfString(emailRegEx, options:.RegularExpressionSearch)
let result = range != nil ? true : false
return result
}
Run Code Online (Sandbox Code Playgroud)
我使用此功能来验证我的登录表单中的电子邮件,而不是如何从我的文本字段中提升此事件
像这样使用
if(username.isEqualToString("") || [!LoginController, testStr == self.username])
{
self.dismissViewControllerAnimated(true, completion: nil)
var alertView:UIAlertView = UIAlertView()
alertView.title = "Sign in Failed!"
alertView.message = "Please enter valid username"
alertView.delegate = self
alertView.addButtonWithTitle("OK")
alertView.show()
return
}
Run Code Online (Sandbox Code Playgroud)
但是在teststr得到未解决的错误我是swift的新手,任何机构都可以解释我如何解决这个问题
Vir*_*vaj 10
您可以通过简单的regEX函数验证电子邮件,true如果有效则返回false
您可以在用户点击键盘事件上的完成/输入时验证它,例如'editingDidEnd',将它从故事板绑定到类文件,如,
@IBAction func validateEmail(sender: UITextField){
if txtEmaildAddress.text.isEmpty {
println("enter email address") //prompt ALert or toast
}
else if self.validate(txtEmaildAddress.text) {
println("Invalid email address") // prompt alert for invalid email
}
}
func validate(YourEMailAddress: String) -> Bool {
let REGEX: String
REGEX = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,6}"
return NSPredicate(format: "SELF MATCHES %@", REGEX).evaluateWithObject(YourEMailAddress)
}
Run Code Online (Sandbox Code Playgroud)
可以帮助这种方法轻松验证.
HTH,享受编码!!
Swift 4.2和Xcode 10
对我来说,如果域名后面有两个以上的点,其他答案将返回true。我找到了正确解决该问题的答案。
func isValidEmail(testStr:String) -> Bool {
let emailRegEx = "^[\\w\\.-]+@([\\w\\-]+\\.)+[A-Z]{1,4}$"
let emailTest = NSPredicate(format:"SELF MATCHES[c] %@", emailRegEx)
return emailTest.evaluate(with: testStr)
}
Run Code Online (Sandbox Code Playgroud)
快乐编码
| 归档时间: |
|
| 查看次数: |
7134 次 |
| 最近记录: |