手机号码格式等判断
一、本篇文章寫作目的
?
我們項目中經常用到的有:
驗證手機號碼、
驗證郵箱格式、
驗證是否為中文、
驗證網址、
驗證是否含有非法字符、
判斷密碼6-16位同時包含數字和字母、
身份證的驗證。
?
我先將此功能代碼記錄下來,方便大家傳閱,希望對網友能夠有所幫助。
?
提示:這方面的網上資源還是比較全的,可以自行搜索。舉例:iOS 手機號碼判斷 正則表達式
?
二、具體內容
?
// 驗證手機號碼 + (BOOL)validateUserPhone:(NSString *)str {NSString *patternStr = [NSString stringWithFormat:@"^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(16[6])|(17[0,1,3,5-8])|(18[0-9])|(19[8,9]))\\d{8}$"];NSRegularExpression *regularexpression = [[NSRegularExpression alloc]initWithPattern:patternStroptions:NSRegularExpressionCaseInsensitiveerror:nil];NSUInteger numberofMatch = [regularexpression numberOfMatchesInString:stroptions:NSMatchingReportProgressrange:NSMakeRange(0, str.length)];if(numberofMatch > 0) {return YES;}return NO; }?
// 校驗Email,帶有域名驗證 + (BOOL)validateEmail:(NSString *)_text {NSString *Regex=@"[0-9a-z._%+-]+@[0-9a-z._]+\\.[a-z]{2,4}";NSPredicate *emailTest=[NSPredicate predicateWithFormat:@"SELF MATCHES %@",Regex];return [emailTest evaluateWithObject:_text]; }?
// 是否為中文 + (BOOL)isChinese{NSString *match=@"(^[\u4e00-\u9fa5]+$)";NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF matches %@", match];return [predicate evaluateWithObject:self]; }?
// 是否是網址 + (BOOL)checkUrl:(id)_strInput {NSString *_strRegex = @"^(http|https|ftp)://[a-zA-Z0-9]+[.][a-zA-Z0-9]+([.][a-zA-Z0-9]+){0,1}(/[a-zA-Z0-9-_.+=?&%]*)*$";NSPredicate* _predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",_strRegex];if ([_predicate evaluateWithObject:_strInput]) {return YES;}else{return NO;} }?
// 是否有非法字符 + (BOOL)isHaveIllegalChar:(NSString *)str {NSCharacterSet *doNotWant = [NSCharacterSet characterSetWithCharactersInString:@"[]{}(#%-*+=_)\\|~(<>$%^&*)_+ "];NSRange range = [str rangeOfCharacterFromSet:doNotWant];return range.location<str.length; }?
// 判斷密碼6-16位且同時包含數字和字母 +(BOOL)judgePassWordLegal:(NSString *)pass{BOOL result = false;if ([pass length] >= 6){// 判斷長度大于6位后再接著判斷是否同時包含數字和字母NSString * regex = @"^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$";NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];result = [pred evaluateWithObject:pass];}return result; }?
// 身份證號 + (BOOL) validateIdentityCard:(NSString *)identityCard {BOOL flag;if (identityCard.length <= 0) {flag = NO;return flag;}NSString *regex2 = @"^(\\d{14}|\\d{17})(\\d|[xX])$";NSPredicate *identityCardPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2];return [identityCardPredicate evaluateWithObject:identityCard]; }?
轉載于:https://www.cnblogs.com/cchHers/p/8608930.html
總結
- 上一篇: Net框架下-ORM框架LLBLGen的
- 下一篇: 在单文档中显示我的第一个对话框