-1
我正在嘗試創建一個限制註冊以嚴格限制.edu註冊的函數。我如何實現一項功能,只要他們有.edu註冊,就可以讓任何大學的學生註冊。我有Facebook註冊功能,但在此之後,我想將用戶重定向到電子郵件確認屏幕。在iPhone App中如何添加.edu電子郵件驗證?
func validate(email: String) -> Bool {
do {
//instantiate a regex checking for valid email ending in .edu
let regex = try NSRegularExpression(pattern: "^[a-zA-Z0-9._%+-][email protected][a-zA-Z0-9.+-]+\.edu$", options: NSRegularExpression.Options.caseInsensitive)
//get the number of matches
let matches = regex.matches(in: email, options: [], range: NSRange(location: 0, length: email.characters.count))
//if no matches, then email provided does not meet your requirements - otherwise the email validates
return matches.count > 0
} catch { //regular expression init failed...
return false
}
}
//conform EmailConfirmationVC UITextFieldDelegate class EmailConfirmationVC: BaseTableVC, UITextFieldDelegate {
//set up your IBOutlets and other properties as you have already, avatar, nameValue, gener, etc -
@IBOutlet weak var emailTF: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
//set your email textfield delegate to self
emailTF.delegate = self
//the rest of your viewDidLoad...
}
//add the validate func above as a method of this class
func validate(email: String) -> Bool { //etc
}
//then implement the textFieldDidEndEditing
func textFieldDidEndEditing(_ textField: UITextField) {
//for now, we are only interested in your email field - so if its not, return early
if textField != emailTF { return }
//else, safely unwrap and use the text from the field
guard let userEmail = textField.text else { return }
//then you the validate method to verify the email checks out
let validEduEmail = validate(email: userEmail)
if validEduEmail {
//email is a valid .edu email -> move on to next registration steps, etc
} else {
//otherwise - this is not an .edu email - let the user know somehow
}
}
您是否只想確保點擊註冊按鈕時,在電子郵件文本字段中有一個以「.edu」結尾的文本? –
是的,我希望用戶也確認他們的電子郵件。 –