0

パスワードの連続値を検証するにはどうすればよいですか?

例 - ユーザーがパスワードに 1326 または「axdf」を入力すると、それが有効になります。

1234 または "abcd" を入力すると無効になります。

4

4 に答える 4

9

この方法でできると思います

NSString *list= @"abcdefghijklmnopqrstuvwxyz"; 

NSString *password= @"abz";  // Suppose this is your password

NSRange range = [list rangeOfString:password options:NSCaseInsensitiveSearch];

 if (range.location == NSNotFound) {
    /* Could NOT find password in list, then it is valid */
   } 
 else {
  /* Found the password in the list then it is not valid */
  }

同様に、数字についても同様に行うことができます

于 2013-05-22T09:22:08.217 に答える
1

ASCIIこの場合、文字列の値を一致させることをお勧めしますeach character。文字列が連続している場合、ASCIIその文字の値は増加する必要があります1

これを実装する方法の大まかなアイデアは次のとおりです。テストしていませんが、役立つことを願っています。

int prevAsciiCode;
NSString *string = @"12345";
for (int i = 0; i<string.length; i++) {
    int asciiCode = [string characterAtIndex:i];
    if (asciiCode == prevAsciiCode+1) {
        NSLog(@"String invalid");
        return;
    }
    prevAsciiCode = asciiCode;
}
于 2013-05-22T08:58:05.570 に答える
1

最も簡単な方法は、strpos を使用することです。

$haystack = '01234567890';
function testConsecutive($pHaystack, $pNeedle){
  return strpos($pHaystack,$pNeedle) === false?false:true;
}

おっと、それが私のフィルターだったので、私はphpコードに答えていると思いました。これはphpではありません。申し訳ありません。

于 2013-05-22T08:25:34.853 に答える