曾有需求做个用户名中非法字符的判断,要求是只能输入中英文和数字,其他字符一律非法,故写了下边一个程序mark一下吧~~

NSString *testString = @"春1mianBU觉晓";

NSString *perchar;

int alength = [testString length];

for (int i = 0; i<alength; i++) {

char commitChar = [testString characterAtIndex:i];

NSString *temp = [testString substringWithRange:NSMakeRange(i,1)];

const char *u8Temp = [temp UTF8String];

if (3==strlen(u8Temp)){

NSLog(@"字符串中含有中文");

}else if((commitChar>64)&&(commitChar<91)){

NSLog(@"字符串中含有大写英文字母");

}else if((commitChar>96)&&(commitChar<123)){

NSLog(@"字符串中含有小写英文字母");

}else if((commitChar>47)&&(commitChar<58)){

NSLog(@"字符串中含有数字");

}else{

NSLog(@"字符串中含有非法字符");

}

}

04-18 20:12
查看更多