我正在寻找用于验证
Swift中的电子邮件(String)的最简单和最干净的方法.在Objective-C中,我使用这种方法,但是如果我将其重写为Swift,则在创建谓词时会收到错误“无法解析格式字符串”.
- (BOOL) validateEmail: (Nsstring *) candidate {
Nsstring *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,6}";
nspredicate *emailTest = [nspredicate predicateWithFormat:@"SELF MATCHES %@",emailRegex];
return [emailTest evaluateWithObject:candidate];
}
解决方法
看起来很简单如果您有Swift转换的问题,如果可能有益于查看您实际尝试的内容.
这对我有用:
func validateEmail(candidate: String) -> Bool {
let emailRegex = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,6}"
return nspredicate(format: "SELF MATCHES %@",emailRegex).evaluateWithObject(candidate)
}
validateEmail("test@google.com") // true
validateEmail("invalid@@google.com") // false