tags:

views:

24

answers:

1

hi,

i want to validate string for following condition

  1. string must contain atleast one Upper case charecter
  2. string must contain atleast one lower case charecter
  3. string must contain atleast one Numeric charecter

does any one have any idea which is the the best way to do this?

Thanks in advance

+1  A: 
NSCharacterSet* uppercaseCharSet = [NSCharacterSet uppercaseLetterCharacterSet];
if ([theString rangeOfCharacterFromSet:uppercaseCharSet].location == NSNotFound)
  return NO;

NSCharacterSet* lowercaseCharSet = [NSCharacterSet lowercaseLetterCharacterSet];
if ([theString rangeOfCharacterFromSet:lowercaseCharSet].location == NSNotFound)
  return NO;

NSCharacterSet* digitsCharSet = [NSCharacterSet decimalDigitCharacterSet];
if ([theString rangeOfCharacterFromSet:digitsCharSet].location == NSNotFound)
  return NO;

return YES;

This method is Unicode-aware. If by "Upper case charecter" you just mean A-Z, use

NSCharacterSet* uppercaseCharSet =
    [NSCharacterSet characterSetWithRange:NSMakeRange('A', 26)];

and similar for the other two.

KennyTM
that is exactly what i needed. thank you very much..