2012-03-13 56 views
0

我想用NSRegularExpression来测试我的密码的有效性。我的密码应该有5个或更多的caractèers。我怎么能做到这一点?谢谢NSregularExpression和密码

NSRegularExpression *passwordRegex = [NSRegularExpression regularExpressionWithPattern:@"???" 
                         options:NSRegularExpressionCaseInsensitive 
                         error:&error]; 
+0

你是什么意思的5个字符:无论字符,字母,...? – sch 2012-03-13 12:28:41

回答

1

您可以使用密码字符串的长度。

至于正则表达式,你可以使用这个:@".{5,}"

NSRegularExpression *passwordRegex = [NSRegularExpression regularExpressionWithPattern:@".{5,}" options:NSRegularExpressionCaseInsensitive error:nil]; 
int numberMatches = [passwordRegex numberOfMatchesInString:password options:0 range:NSMakeRange(0, password.length)]; 
BOOL validPassword = numberMatches > 0; 

如果你想只接受某些类型的字符,那么你可以使用下面的正则表达式:

  1. @"^[A-Za-z]{5,}$“:字母只
  2. @"^[A-Za-z0-9]{5,}$":字母和数字
1

你不需要一个正则表达式来做到这一点。如果您将其与字符串进行比较,请使用以下代码:

if(string.length < 5) 
{ 
    [user getAngry:WithWeapon:]; 
}