如何验证密码的顺序值?
例如 - 如果用户在密码中输入 1326 或“axdf”,那么它是有效的。
如果使用输入 1234 或 "abcd" 则无效。
如何验证密码的顺序值?
例如 - 如果用户在密码中输入 1326 或“axdf”,那么它是有效的。
如果使用输入 1234 或 "abcd" 则无效。
我认为你可以这样做
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 */
}
同样,您也可以对数字执行此操作
最简单的方法是使用 strpos。
$haystack = '01234567890';
function testConsecutive($pHaystack, $pNeedle){
return strpos($pHaystack,$pNeedle) === false?false:true;
}
糟糕,我以为我在回答 php 代码,因为那是我的过滤器。这不是 php,对此感到抱歉。
在这种情况下,我建议您尝试匹配字符串中的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;
}
字符串是一个字符序列,每个字符由 ASCII 码表示,因此您可以迭代 throw 字符串的字符并将每个字符与其之前的 int 值进行比较,例如:
- (BOOL)isSequence:(NSString *)string
{
char previousChar = [string characterAtIndex:0];
int wordLength = [string length];
BOOL isSequence = YES;
for (int i = 0; i < wordLength && isSequence; i++)
{
char currentChar = [string characterAtIndex:i];
if (currentChar != previousChar+1) {
isSequence = NO;
}
previousChar = currentChar;
}
return isSequence;
}