2015-04-16 27 views
5
class func isValidEmail(testStr:String) -> Bool { 
     let emailRegEx = "[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,4}" 
     let range = testStr.rangeOfString(emailRegEx, options:.RegularExpressionSearch) 
     let result = range != nil ? true : false 
     return result 
    } 

Am gibi kullanarak metin alanınadoğrulama

gelen bu olayı yükselmeye nasıl almıyorum benim giriş formu e-posta doğrulamak için bu işlevi kullanarak bu

if(username.isEqualToString("") || [!LoginController, testStr == self.username]) 
     { 
      self.dismissViewControllerAnimated(true, completion: nil) 
      var alertView:UIAlertView = UIAlertView() 
      alertView.title = "Sign in Failed!" 
      alertView.message = "Please enter valid username" 
      alertView.delegate = self 
      alertView.addButtonWithTitle("OK") 
      alertView.show() 
      return 
     } 

ama teststr de çözülmemiş bir hatayı alıyorum hızlıca yeniyim herhangi bir vücut nasıl çözebileceğimi açıklayabilirim

cevap

6

Sadece basit regEX işleviyle e-postayı doğrulayabilirsiniz. Aksi false

kullanıcı isabet birleştirmiş Storyboard'dan sınıf dosyası gibi için, 'editingDidEnd' gibi klavye olayı Enter/Done ederken Bunu doğrulamak,

@IBAction func validateEmail(sender: UITextField){ 
    if txtEmaildAddress.text.isEmpty { 
     println("enter email address") //prompt ALert or toast 
    } 
    else if self.validate(txtEmaildAddress.text) { 
     println("Invalid email address") // prompt alert for invalid email 
    } 
} 

func validate(YourEMailAddress: String) -> Bool { 
    let REGEX: String 
    REGEX = "[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,6}" 
    return NSPredicate(format: "SELF MATCHES %@", REGEX).evaluateWithObject(YourEMailAddress) 
} 

için bu yöntemi yardım etsin geçerli ise RN true kolayca doğrulayın.

HTH, Kodlama Keyfini Çıkarın !!

+1

REGEX neden? Neden her olası değişken adlandırma kuralı kesiliyor? 'YourEmailAddress'? 'TxtEmaildAddress'? Neden tek bir sözleşmeye sadık kalmıyorsunuz? – Fogmeister

İlgili konular