我只是嘗試使用運算式驗證電子郵件。我創建了一個用于表單欄位的結構。
let emailRegEx = "[A-ZO-9a-z._% -] @[A-Za-zO-9.-J |l.[A-Za-z]{2,64}"
var isEmailValid: Bool {
!email.isEmpty &&
if email.ranges(of: emailRegEx, options: .regularExpression) == nil {
return self
}
}
它不斷拋出這個錯誤......無法推斷成員'regularExpression'的背景關系基礎,以及運算子后的預期運算式,最后是呼叫中的額外引數'options'。
uj5u.com熱心網友回復:
你if在錯誤的地方,.ranges應該是.range。
假設你emailRegEx是正確的,試試這個:
var isEmailValid: Bool = !email.isEmpty && (email.range(of: emailRegEx, options: .regularExpression) != nil)
使用計算的 var,使用:
var isEmailValid: Bool {
!email.isEmpty && (email.range(of: emailRegEx, options: .regularExpression) != nil)
}
你也可以試試這個正則運算式的電子郵件:
let emailRegEx = #"^\S @\S \.\S $"#
或者
let emailRegEx = #"^[a-zA-Z0-9.!#$%&’* /=?^_`{|}~-] @[a-zA-Z0-9-] (?:\.[a-zA-Z0-9-] )*$"#
另請參閱此 SO 帖子:如何快速驗證電子郵件地址?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/529277.html
標籤:迅速正则表达式形式验证
上一篇:HTML`pattern`&`type`屬性的用途和限制
下一篇:HTML表單單選條件
