Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone中密码的正则表达式?_Iphone_Regex_Passwords - Fatal编程技术网

iPhone中密码的正则表达式?

iPhone中密码的正则表达式?,iphone,regex,passwords,Iphone,Regex,Passwords,我在创建正则表达式方面非常弱。所以我在这里 我需要一个满足以下条件的正则表达式 密码至少应有一个数值和一个字母 最少6个字符,最多32个字符 您可以找到一个有用的regexp备忘单,其中还提供了一些示例。 其中一个与您的需求非常相似(“示例模式框”中的第6个):无需使用任何第三方库,如Regexkit,您可以检查您的需求,如: if ([[password rangeOfCharacterFromSet: [ NSCharacterSet alphanumericCharacterSet

我在创建正则表达式方面非常弱。所以我在这里

我需要一个满足以下条件的正则表达式

  • 密码至少应有一个数值和一个字母
  • 最少6个字符,最多32个字符
  • 您可以找到一个有用的regexp备忘单,其中还提供了一些示例。
    其中一个与您的需求非常相似(“示例模式框”中的第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;
     }