手機號碼格式等判斷

來源:互聯網
上載者:User

標籤:als   word   color   ring   char   資源   手機   regular   sel   

一、本篇文章寫作目的

 

我們項目中經常用到的有:

驗證手機號碼、

驗證郵箱格式、

驗證是否為中文、

驗證網址、

驗證是否含有非法字元、

判斷密碼6-16位同時包含數字和字母、

身份證的驗證。

 

我先將此功能代碼記錄下來,方便大家傳閱,希望對網友能夠有所協助。

 

提示:這方面的網上資源還是比較全的,可以自行搜尋。舉例:iOS 手機號碼判斷 Regex

 

二、具體內容

 

// 驗證手機號碼+ (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:patternStr                                              options:NSRegularExpressionCaseInsensitive                                              error:nil];    NSUInteger numberofMatch = [regularexpression numberOfMatchesInString:str                                                                  options:NSMatchingReportProgress                                                                    range:NSMakeRange(0, str.length)];        if(numberofMatch > 0) {return YES;    }return NO;}

 

// 校正Email,帶有網域名稱驗證+ (BOOL)validateEmail:(NSString *)_text{    NSString *Regex=@"[0-9a-z._%+-][email protected][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];}

 

手機號碼格式等判斷

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.