NSStringvalidation
我需要validation一些用户在某些UITextField中input的NSString。
有两种我需要的validation。
1,判断一个NSString对象是否是合法的十进制数。
例如,@“100”,@“10.1”,@“0.11”都是合法的,但是@“100.11.1”不是。
第二,判断一个NSString对象是不是一个空格string。
例如,@“abc”,@“ab —- c”都是合法的,但@“—–”,@“”不是。
这里“ – ”是指空格“”。
我怎样才能validation这两种NSString?
非常感谢!
对于第一部分尝试这一点
NSNumberFormatter *formatter = [[[NSNumberFormatter alloc] init] autorelease]; [formatter setNumberStyle:NSNumberFormatterDecimalStyle]; [formatter setAllowsFloats:YES]; [formatter setDecimalSeparator:@"."]; NSNumber *number = [formatter numberFromString: inputString]; if(number == nil) { //invalid input string }
对于第二部分尝试这一点:
NSString *str = [inputString stringByReplacingOccurrencesOfString:@" " withString:@""]; if([str length] == 0) { //invalid input string }
对于第一次validation,您可以计算小数点。 零是有效的。 超过一个是无效的。 而且总是有效的(假设“.123”是有效的)。
对于第二次validation,您可以将空string@""
与原始string进行比较,并删除所有空格。 如果他们相同,那么你的原始string是无效的。
searchSO。 例如NSString中字符的出现次数可能会有所帮助。