Ios 用于密码验证的正则表达式-目标C
我需要一个正则表达式,可以验证以下情况Ios 用于密码验证的正则表达式-目标C,ios,objective-c,nsregularexpression,Ios,Objective C,Nsregularexpression,我需要一个正则表达式,可以验证以下情况 长度为8到20个字符 至少使用1个大写字母、1个小写字母和1个数字 同一数字或字母不能连续重复3次以上 不包含空格,并且只能使用这些字符 @ # * ( ) + = { } / ? ~ ; , . - _ 我能找到的最接近的解决办法是 ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z])(?=.*[@(#*){+=}/?~;,._]).{8,20}$ 但包含以下问题: 接受空间 无法添加-字符 连续三次以
- 长度为8到20个字符
- 至少使用1个大写字母、1个小写字母和1个数字
- 同一数字或字母不能连续重复3次以上
- 不包含空格,并且只能使用这些字符 @ # * ( ) + = { } / ? ~ ; , . - _李>
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z])(?=.*[@(#*){+=}/?~;,._]).{8,20}$
但包含以下问题:
- 接受空间
- 无法添加
字符-
- 连续三次以上重复相同的数字或字母
^(?!.*?(.)\1{3})(?!.* )(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?!.*[:£€&"!'[\]%^\|<>$]).{8,20}$
}可能重复的您是否尝试过为这些需求编写一些代码?@Abhi否。请阅读这两个问题,然后标记为重复。我已经详细提到了我的问题。@vaibhav我提到了我的代码。与我的解决方案有点接近的正则表达式。^(?=.[a-z])(?=.[a-z])(?=.[a-z])(?=.[$@$!%*?&])[a-Za-z\\d$@$!%*?&]{8,}为了避免空格,如果字符串有空格,它将显示您是否尝试为这些要求编写代码的警报或可能的副本?@Abhi否。请阅读这两个问题,然后标记为重复。我已经详细提到了我的问题。@vaibhav我提到了我的代码。有点接近我的解决方案的正则表达式。^(?=.[a-z])(?=.[a-z])(?=.*\\d)(?=.[$@$!%*?&])[a-Za-z\\d$@$!%*?&]{8}为了避免空格,如果字符串有空格,它将向您显示警告或警告
- (BOOL)string:(NSString *)text matches:(NSString *)pattern{
NSError *error;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern options:0 error:&error];
NSArray *matches = [regex matchesInString:text options:0 range:NSMakeRange(0, text.length)];
return matches.count > 0;