Tôi đang cố gắng xác thực trong trường văn bản chứa địa chỉ email.
Điều gì sẽ được thêm vào trong chuỗi "emailRegEx" để hạn chế người dùng chèn ba dấu chấm vào địa chỉ email hoặc những gì tôi phải viết trong phương thức cho cùng.Xác thực địa chỉ email trong UITextField
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string.
Đây là mã của tôi:
- (BOOL)EmailValidationL:(NSString *)email
{
NSString *emailRegEx [email protected]"(?:[a-z0-9!#$%\\&'*+/=?\\^_`{|}~-]+(?:\\.[a-z0-9!#$%\\&'*+/=?\\^_`{|}"
@"~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\"
@"x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-"
@"z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5"
@"]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-"
@"9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21"
@"-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])";
NSPredicate *regExPredicate =
[NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegEx];
a= [regExPredicate evaluateWithObject:email];
return a;
}
dupl có thể icate of [Các phương pháp hay nhất để xác thực địa chỉ email trong Objective-C trên iOS 2.0?] (http://stackoverflow.com/questions/800123/best-practices-for-validating-email-address-in-objective-c-on -ios-2-0) – zpasternack
@zpasternack: tôi muốn xác thực động, người dùng đó không nên nhập dấu chấm thứ ba.if nó vào rồi thay thế bằng chuỗi rỗng.Phương thức trên được xác nhận trong phương thức ShouldEndEditing- – Ketan
Bây giờ chúng ta có các tên miền UTF-8, làm thế nào để thay đổi các biểu thức chính quy này? ví dụ. camtasia 教程 网 .com –