zoukankan      html  css  js  c++  java
  • iOS开发判断手机号及其运营商

    根据三大运营商出现的号段(号段来自百度百科)

    判断是否是手机号

    + (BOOL)isMobile:(NSString *)str {

        NSString *MOBILE = @"^1(3[0-9]|4[579]|5[0-35-9]|6[2567]|7[0-35-8]|8[0-9]|9[189])\d{8}$";

        NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];

        

        return [regextestmobile evaluateWithObject:str];

    }

    2、

    //判断移动

    + (BOOL)isChinaMobile:(NSString *)phoneNum{

        NSString * CM = @"(^134[0-8]\d{7}$)|(^1(3[5-9]|4[7]|5[0-27-9]|6[5]|7[28]|8[2-478]|9[8])\d{8}$)|(^170[356]\d{7})";

        NSPredicate *regextestcm = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM];

        return [regextestcm evaluateWithObject:phoneNum];

    }

    //判断联通

    + (BOOL)isChinaUnicom:(NSString *)phoneNum{

        NSString * CM = @"(^1(3[0-2]|4[5]|5[56]|6[67]|7[156]|8[56])\d{8}$)|(^170[47-9]\d{7}$)";

        NSPredicate *regextestcm = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM];

        return [regextestcm evaluateWithObject:phoneNum];

    }

    //判断电信

    + (BOOL)isChinaTelecom:(NSString *)phoneNum{

        NSString * CM = @"(^1(3[3]|4[9]|5[3]|6[2]|7[37]|8[019]|9[19])\d{8}$)|(^170[0-2]\d{7}$)";

        NSPredicate *regextestcm = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM];

        return [regextestcm evaluateWithObject:phoneNum];

    }

    //判断运营商

    + (NSString *)getPhoneNumType:(NSString *)phoneNum{

       

        return [self isChinaMobile:phoneNum]? @"中国移动": ([self isChinaUnicom:phoneNum]? @"中国联通":([self isChinaTelecom:phoneNum]? @"中国电信": @"未知"));

    }

  • 相关阅读:
    iOS开发数据库篇—SQLite的应用
    iOS开发数据库篇—SQL代码应用示例
    iOS开发数据库篇—SQL
    iOS开发数据库篇—SQLite简单介绍
    iOS开发网络篇—NSURLConnection基本使用
    iOS开发网络篇—数据安全
    iOS开发网络篇—GET请求和POST请求
    WordPress主题开发:开启文章缩略图功能
    WordPress主题开发:开启feed功能
    WordPress主题开发:循环代码
  • 原文地址:https://www.cnblogs.com/guozhihe/p/12923555.html
Copyright © 2011-2022 走看看