正则表达式判断手机号

//正则表达式判断手机号格式

- (BOOL)checkTel:(NSString *)str

 {

       if ([str length] == 0) {

        UIAlertView* alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"data_null_prompt", nil) message:NSLocalizedString(@"tel_no_null", nil) delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];

      [alert show];

        return NO;

      }

      //1[0-9]{10}   

    //^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$

    //    NSString *regex = @"[0-9]{11}";

      NSString *regex = @"^((13[0-9])|(17[0-9])|(147)|(15[^4,\\D])|(18[0,5-9]))\\d{8}$";

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

     BOOL isMatch = [pred evaluateWithObject:str]; 

    if (!isMatch) {

        UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"请输入正确的手机号码" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];

         [alert show];

        return NO;       

    }    

    return YES;   

}

 调用的时候

if (![self checkTel:self.phoneText.text]) {

手机号码不正确的逻辑;

           return;

        }

        else

        {

 手机号码正确的逻辑;

}

posted @ 2015-12-25 18:21  xiaolingling  阅读(808)  评论(0编辑  收藏  举报