我正在尝试创建一个电子邮件验证,以验证@
电子邮件中的字符以及之前和之后的字符@
。我能够做到这一点,但我无法将两者结合在一起。到目前为止,我有一个计算属性,它只检查电子邮件是否包含@
. 我怎样才能把它结合在一起来检查所有条件。
extension String {
var isEmailFormat: Bool {
if let range = self.range(of: "@") {
_ = self[(self.startIndex)..<range.lowerBound]
_ = self[range.upperBound...]
}
return self.contains("@")
}
}
if !self.emailField.text!.isEmailFormat {
self.addErrorMessage("Invalid email address")
}
附加(布尔)子句与可选绑定用逗号分隔:
if let range = self.range(of: "@"), condition1, condition2 { ... }
但是,将切片分配给_
任何东西都不会测试,它应该是这样的:
var isEmailFormat: Bool {
if let range = self.range(of: "@"),
range.lowerBound > startIndex,
range.upperBound < endIndex {
return true
} else {
return false
}
}
或者:
var isEmailFormat: Bool {
if let range = self.range(of: "@") {
return range.lowerBound > startIndex && range.upperBound < endIndex
} else {
return false
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句