今天刚看到的,要求我把它改成不包含特殊字符的。我觉得还是原来的这个有意义,记录一下。
-(NSString *)getRandom8TakeCode {
NSArray *changeArray = [[NSArray alloc] initWithObjects:@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"A",@"B",@"C",@"D",@"E",@"F",@"G",@"H",@"I",@"J",@"K",@"L",@"M",@"N",@"O",@"P",@"Q",@"R",@"S",@"T",@"U",@"V",@"W",@"X",@"Y",@"Z",@"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",@"i",@"j",@"k",@"l",@"m",@"n",@"o",@"p",@"q",@"r",@"s",@"t",@"u",@"v",@"w",@"x",@"y",@"z",@"!",@"@",@"#",@"$",@"^",@"&",@"*",@"-",@"+",nil];
NSArray *specailArray=[[NSArray alloc]initWithObjects:@"!",@"@",@"#",@"$",@"^",@"&",@"*",@"-",@"+", nil];
NSMutableString *changeString = [[NSMutableString alloc] initWithCapacity:8];
NSInteger specialIndex=arc4random()%(7);
NSInteger specialArrayIndex=arc4random()%([specailArray count] - 1);
for(int i = 0; i < 8; i++)
{
if (i==specialIndex) {
changeString = (NSMutableString *)[changeString stringByAppendingString:[specailArray objectAtIndex:specialArrayIndex]];
continue;
}
NSInteger index = arc4random() % ([changeArray count] - 1);
changeString = (NSMutableString *)[changeString stringByAppendingString:[changeArray objectAtIndex:index]];
}
return changeString;
}
网友评论