NSPredicate过滤空白和字母数字

时间:2012-01-06 16:39:45

标签: iphone objective-c ios cocoa ipad

我正在尝试验证uitextfield哪个

  • 不包含空格,
  • 至少有一个字母和一个数字,
  • 其长度需要大于6.

一次性实际测试所有这些场景的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

我会使用NSString方法rangeOfCharacterFromSet:来处理您的验证:

NSString *str = myTextField.text;

BOOL isValid = ([str length] > 6 &&
                [str rangeOfCharacterFromSet:[NSCharacterSet letterCharacterSet]].location != NSNotFound &&
                [str rangeOfCharacterFromSet:[NSCharacterSet decimalDigitCharacterSet]].location != NSNotFound &&
                [str rangeOfCharacterFromSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]].location == NSNotFound);