下面的三個方法就是非常方便的快速判斷的輸入的是否為手機號,郵箱或者身份證號的方法,只需要調(diào)用這些方法,然后用一個bool值去接收返回的參數(shù),然后進行判斷就可以了。
//郵箱
+?(BOOL)validateEmail:(NSString*)email
{
NSString*emailRegex?=@"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
NSPredicate*emailTest?=?[NSPredicatepredicateWithFormat:@"SELF?MATCHES?%@",emailRegex];
return[emailTestevaluateWithObject:email];
}
//手機號碼驗證
+?(BOOL)validateMobile:(NSString*)mobile
{
//手機號以17,?13咨跌,?15缝呕,18開頭怠晴,八個?\d?數(shù)字字符
NSString*phoneRegex?=@"^((17[0-9])|(13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$";
NSPredicate*phoneTest?=?[NSPredicatepredicateWithFormat:@"SELF?MATCHES?%@",phoneRegex];
return[phoneTestevaluateWithObject:mobile];
}
//身份證號
+?(BOOL)validateIdentityCard:?(NSString*)identityCard
{
BOOLflag;
if(identityCard.length<=0)?{
flag?=NO;
returnflag;
}
NSString*regex2=@"^(\\d{14}|\\d{17})(\\d|[xX])$";
NSPredicate*identityCardPredicate?=?[NSPredicatepredicateWithFormat:@"SELF?MATCHES?%@",regex2];
return[identityCardPredicateevaluateWithObject:identityCard];
}