判断UITextField的输入只为数字的…

来源:互联网 发布:冒泡排序c语言n个元素 编辑:程序博客网 时间:2024/05/17 03:58

今天公司项目测试人员发现app里一个奇葩的问题, 在用户登陆的时候, 密码出输入中文而不是字母或数字的时候,点击登陆,艹... 直接崩了.  后来弄了方案, 直接不让你输入中文   下面就用了个方法  仅供参考  勿喷.....

实现下面的委托

#define NUMBERS @"0123456789\n"

- (BOOL)textField:(UITextField *)textFieldshouldChangeCharactersInRange:(NSRange)rangereplacementString:(NSString *)string
{
    NSCharacterSet*cs;       
    if(textField ==phoneNumberField)
    {
       cs =[[NSCharacterSet characterSetWithCharactersInString:NUMBERS]invertedSet];      
       NSString*filtered = [[string componentsSeparatedByCharactersInSet:cs]componentsJoinedByString:@""];      
       BOOLbasicTest = [string isEqualToString:filtered];
       if(!basicTest)
       {
          UIAlertView*alert = [[UIAlertView alloc] initWithTitle:@"提示"
                                         message:@"请输入数字" 
                                         delegate:nil 
                                   cancelButtonTitle:@"确定" 
                                   otherButtonTitles:nil];
         
          [alertshow];
          [alertrelease];
          returnNO;
         
    }

       //其他的类型不需要检测,直接写入
       returnYES;       
}
如果输入的不是数字,进行提示。
0 0
原创粉丝点击