开发中,我们很多应用程序都是需要使用手机注册,那么我们该如何判断当前用户输入的是不是手机号码?
使用下面改方法(也称正则表达式)就可以判断是不是手机号
/*手机号码验证 MODIFIED BY LYH*/
-(BOOL) isValidateMobile:(NSString *)mobile
{
//手机号以13, 15,18开头,八个 \d 数字字符
NSString *phoneRegex =@"^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$";
NSPredicate *phoneTest = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",phoneRegex];
// NSLog(@"phoneTest is %@",phoneTest);
return [phoneTest evaluateWithObject:mobile];
}
使用步骤:
1.先在注册按钮里面要用定义一个字符串,用来记录用户输入的手机号码
2.然后再注册按钮里面进行判断,如果不是手机号码 则提示出错
3.如果手机号码输入错误,说明不是手机号码,所以直接return;
4.如果是手机号码,继续进行下一步判断....(密码为空、密码少于多少位、密码长度过长、发送网络等逻辑)
-(void)register_nextStep
{
NSString *phoneNumber =self.PhoneNumber.text;
if(![self isValidateMobile:phoneNumber])
{
//手机号码格式错误时
UIAlertView * alert = [[UIAlertViewalloc]initWithTitle:nilmessage:@"请输入正确的手机号码"delegate:nil cancelButtonTitle:@"确定"otherButtonTitles:@"取消" ,nil];
[alertshow];
return;
}
//这里还需要做判断
//1.密码是否为空、或者是密码过长或过短、
//2.验证码是否为空
//3.都不为空,说明可以注册,第三步就做网络请求
}