/ Published in: Objective C
A category in Objective-C allows you to add methods to an existing class without the need to subclass it. You can also use a category to override the implementation of an existing class.
Expand |
Embed | Plain Text
Simply create a new class file and code it as follows: //--Utils.h-- #import <Foundation/Foundation.h> //---NSString is the class you are extending--- //---the method you are adding to the NSString class--- -(BOOL) isEmail; @end //--Utils.m-- #import "Utils.h" - (BOOL) isEmail { @"(?:[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])+)\\])"; return [regExPredicate evaluateWithObject:self]; } @end You can then test for the validity of an e-mail address using the newly added method: if ([email isEmail]) NSLog(@"Valid email"); else NSLog(@"Invalid email");
You need to login to post a comment.
