iPhone中密码的正则表达式?
我在创建正则表达式方面非常弱。所以我在这里 我需要一个满足以下条件的正则表达式iPhone中密码的正则表达式?,iphone,regex,passwords,Iphone,Regex,Passwords,我在创建正则表达式方面非常弱。所以我在这里 我需要一个满足以下条件的正则表达式 密码至少应有一个数值和一个字母 最少6个字符,最多32个字符 您可以找到一个有用的regexp备忘单,其中还提供了一些示例。 其中一个与您的需求非常相似(“示例模式框”中的第6个):无需使用任何第三方库,如Regexkit,您可以检查您的需求,如: if ([[password rangeOfCharacterFromSet: [ NSCharacterSet alphanumericCharacterSet
其中一个与您的需求非常相似(“示例模式框”中的第6个):无需使用任何第三方库,如Regexkit,您可以检查您的需求,如:
if ([[password rangeOfCharacterFromSet: [ NSCharacterSet alphanumericCharacterSet]] &&
[password rangeOfCharacterFromSet: [NSCharacterSet characterSetWithCharactersInString: @"0123456789"]] &&
(6 < [password length]) && [password length] < 32)) {
NSLog(@"acceptable password");
}
if([[password rangeOfCharacterFromSet:[NSCharacterSet alphanumericCharacterSet]]&&
[CharacterFromSet的密码范围:[NSCharacterSet characterSetWithCharactersInString:@“0123456789”]&&
(6<[密码长度]&&[密码长度]<32)){
NSLog(“可接受密码”);
}
以下内容应满足最小/最大字符、至少1个字母和1个数字字符的要求:
^(?=.{6,32}$)(?=.*\d)(?=.*[a-zA-Z]).*$
试试这个:
^(?=.*\d)(?=.*[A-Za-z]).{6,32}$
-(BOOL)isPasswordValid:(NSString*)pwd{
if([pwd length]32)返回否;//太长或太短
恩斯兰格·朗;
Range=[pwd rangeOfCharacterFromSet:[NSCharacterSet-letterCharacterSet]];
如果(!rang.length)返回否;//无字母
Range=[pwd rangeOfCharacterFromSet:[NSCharacterSet decimalDigitCharacterSet]];
如果(!rang.length)返回NO;//NO number;
返回YES;
}
这显然不是正则表达式,但imo正则表达式在这方面做得太过分了。为什么需要使用正则表达式验证密码?一些简单的Javascript/Objective-C代码应该能够强制执行密码要求。我使用validation类。我几乎使用正则表达式验证每个文本字段。我发现验证非常容易s、 我唯一需要弄清楚的是这个正则表达式。我在这里。请先搜索一下。这样的问题每天都会被问。也许不是你的确切要求,但很容易改变以适应你的需要。@Bart:嘿,这是我需要的另一个正则表达式。就像我说的,搜索一下。看看,它和你的差不多。
-(BOOL) isPasswordValid:(NSString *)pwd {
if ( [pwd length]<6 || [pwd length]>32 ) return NO; // too long or too short
NSRange rang;
rang = [pwd rangeOfCharacterFromSet:[NSCharacterSet letterCharacterSet]];
if ( !rang.length ) return NO; // no letter
rang = [pwd rangeOfCharacterFromSet:[NSCharacterSet decimalDigitCharacterSet]];
if ( !rang.length ) return NO; // no number;
return YES;
}