天天看点

判断字符串是不是纯数字

有以下三种方法:

1、利用NSCharacterSet的stringByTrimmingCharactersInSet方法。

stringByTrimmingCharactersInSet函数可以过滤字符串中的指定特殊符号,如下我们指定输入的字符串过滤掉十进制数字,只要判断剩下的字符串是否为空就行,为空则都是数字,反之不然。

- (BOOL)isNum:(NSString *)checkedNumString {

    checkedNumString = [checkedNumString stringByTrimmingCharactersInSet:[NSCharacterSet decimalDigitCharacterSet]];

    if(checkedNumString.length > 0) {

        return NO;

    }

    return YES;

}

2、用NSScanner类来判断

NSScanner是一个类,用于在字符串中扫描指定的字符。

- (BOOL)isPureInt:(NSString*)string{

    NSScanner* scan = [NSScanner scannerWithString:string];

    int val;

    return[scan scanInt:&val] && [scan isAtEnd];

}

3、正则

- (BOOL) deptNumInputShouldNumber:(NSString *)str

{

   if (str.length == 0) {

        return NO;

    }

    NSString *regex = @"[0-9]*";

    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];

    if ([pred evaluateWithObject:str]) {

        return YES;

    }

    return NO;

}