如何限制用戶在文本框中輸入電子郵件地址。 問題是,未顯示我的警惕,只是註冊,如果有效,而不檢查電子郵件字段或不電子郵件驗證swift 2
if (username.isEmpty || email.isEmpty || password.isEmpty || phonenumper.isEmpty) {
let alert = UIAlertController(title: "Sign Up Failed!", message:"Please enter your data for Signup", preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "OK ", style: .Default) { _ in })
self.presentViewController(alert, animated: true){}
}
else {
if (isValidEmail(UserEmailTextFiled.text!)) {
let alert = UIAlertController(title: "Inviled Email", message:"Please enter your Email", preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "OK ", style: .Default) { _ in })
self.presentViewController(alert, animated: true){}
}else{
//code
}
func isValidEmail(testStr:String) -> Bool {
let emailRegEx = "[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,64}"
let range = testStr.rangeOfString(emailRegEx, options:.RegularExpressionSearch)
let result = range != nil ? true : false
return result
}
電子郵件驗證,我建議您更新isValidEmailŧ o將一個可選的String作爲參數,而不是String,如果它的nil返回false。它可以避免崩潰(你總是打開可選值而不檢查) – CZ54
附註,因爲這實際上不是你問題的一部分,但我建議刪除正則表達式。電子郵件地址正則表達式驗證過於複雜,您可能無法解釋所有可能性。如果用戶輸入無效的電子郵件,那麼他們的問題不是你的問題。有關詳情,請深入討論這個博客帖子:https://davidcel.is/posts/stop-validating-email-addresses-with-regex/ –