iOS实时检测UITextField内容

来源:互联网 发布:贵州省软件测评中心 编辑:程序博客网 时间:2024/05/22 02:15

想在用户输入内容的时候同时检测UITextField的输入并根据用户的输入内容响应页面上的事件,在这个例子中是实时检测用户输入的手机号码,当手机号码的位数达到11位同时满足手机号码的格式时,确定按钮变为可用状态。

代码如下:

先声明textfield然后添加下面方法:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {    NSString *checkString;    if (range.location == 11) {        return NO;    }else{        if (![string isEqualToString:@""]) {            checkString=[self.textfield.text stringByAppendingString:string];        }else{            checkString=[checkString stringByDeletingLastPathComponent];        }        if ([self isMobileNumber:checkString]) {            NSLog(@"号码满足");        }else{            NSLog(@"号码不满足");        }        return YES;    }}

手机号码检测使用下面代码:

- (BOOL)isMobileNumber:(NSString *)mobileNum{    NSString * MOBILE = @"^((13[0-9])|(14[^4,\\D])|(15[^4,\\D])|(18[0-9]))\\d{8}$|^1(7[0-9])\\d{8}$";    NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];    if ([regextestmobile evaluateWithObject:mobileNum] == YES){        return YES;    }else{        return NO;    }}
0 0