注:设置(UITextField*)的 delegate
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(Nsstring *)string
{
NSLog(@"%s",__FUNCTION__);
Nsstring *result = [textField.text stringByReplacingCharactersInRange:range withString:string];
if ([result length] == 0) return YES;
Nsstring *regex = @"^[a-zA-Z0-9_]{0,20}$";
nspredicate *prd = [nspredicate predicateWithFormat:@"SELF MATCHES %@",regex];
return [prd evaluateWithObject:result];
}