現在使用的app大部分都用到手機號注冊,很多app注冊的時候會判斷手機號,可以根據當前輸入文本來判斷“獲取驗證碼”的按鈕是否可用
判斷輸入文本是通過UITextField的代理的
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
方法實現的。
可以的判斷輸入和刪除字符時是否為手機號
實現代碼如下
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if (textField.tag == 1001) { NSInteger strLength = textField.text.length - range.length + string.length; if (strLength > 11){ return NO; } NSString *text = nil; //如果string為空,表示刪除 if (string.length > 0) { text = [NSString stringWithFormat:@"%@%@",textField.text,string]; }else{ text = [textField.text substringToIndex:range.location]; } if ([self isMobile:text]) { [btnVeriy setEnabled:YES]; }else{ [btnVeriy setEnabled:NO]; } } return YES; }