我想要一个正则表达式来检查:
密码包含至少八个字符,包括至少一个数,并且包括下部和大写字母和特殊字符,例如两个#,?,!.
它不能是您的旧密码或包含您的用户名"password",或"websitename"
这是我的验证表达式,它包含八个字符,包括一个大写字母,一个小写字母和一个数字或特殊字符.
(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"
Run Code Online (Sandbox Code Playgroud)
如何为密码编写密码必须是八个字符,包括一个大写字母,一个特殊字符和字母数字字符?
如何限制UITextField除点和下划线之外的特殊字符?
我已经尝试了下面的代码片段,但没有运气:
#define ACCEPTABLE_CHARECTERS @" ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_."
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSCharacterSet *acceptedInput = [NSCharacterSet characterSetWithCharactersInString:ACCEPTABLE_CHARECTERS];
if (![[string componentsSeparatedByCharactersInSet:acceptedInput] count] > 1){
NSLog(@"not allowed");
return NO;
}
else{
return YES;
}
}
Run Code Online (Sandbox Code Playgroud) 您好我目前使用以下来验证密码,但我也想包括特殊字符.目前它只包含数字和字母.请帮忙.
- (BOOL)validatePassword:(NSString *) password{
NSString *ACCEPTABLE_CHARECTERS = @"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:ACCEPTABLE_CHARECTERS] invertedSet];
NSString *filtered = [[password componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
return [password isEqualToString:filtered];
}
Run Code Online (Sandbox Code Playgroud)