当前位置: 首页 > news >正文

判断手机号码格式的正则表达式



(BOOL)isMobileNumber:(NSString *)mobileNum
{
       /**
        * 手机号码
        * 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
        * 联通:130,131,132,152,155,156,185,186
        * 电信:133,1349,153,180,189
        */
       NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$";
       /**
        10         * 中国移动:China Mobile
        11         * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
        12         */
       NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$";
       /**
        15         * 中国联通:China Unicom
        16         * 130,131,132,152,155,156,185,186
        17         */
       NSString * CU = @"^1(3[0-2]|5[256]|8[56])\\d{8}$";
       /**
        20         * 中国电信:China Telecom
        21         * 133,1349,153,180,189
        22         */
       NSString * CT = @"^1((33|53|8[09])[0-9]|349)\\d{7}$";
       /**
        25         * 大陆地区固话及小灵通
        26         * 区号:010,020,021,022,023,024,025,027,028,029
        27         * 号码:七位或八位
        28         */
      // NSString * PHS = @"^0(10|2[0-5789]|\\d{3})\\d{7,8}$";
    
     NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];
     NSPredicate *regextestcm = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM];
     NSPredicate *regextestcu = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU];
     NSPredicate *regextestct = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT];
    
    if (([regextestmobile evaluateWithObject:mobileNum] == YES)
    || ([regextestcm evaluateWithObject:mobileNum] == YES)
    || ([regextestct evaluateWithObject:mobileNum] == YES)
    || ([regextestcu evaluateWithObject:mobileNum] == YES))
    {
        return YES;
    }
    else
    {
        return NO;
    }
}


相关文章:

  • Linux下Tomcat控制台输出及日志中文乱码问题的解决
  • C#操作Excel,权限问题
  • Unable to convert MySQL date/time value to System.DateTime
  • org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 52 in XML document from
  • Extjs页面加载非常慢的处理
  • 如何将struts2中Action的默认后缀由.action改为.do
  • [SetContextPropertiesRule]{Context} Setting property 'source'
  • problem中Project'XX'is missing required library:'[路径]\XXX.jar'解决方法
  • struts2动态方法调用 无效问题
  • powerDesigner Non SQL Error : Could not load class com.mysql.jdbc.Driver
  • HttpClient 4 和 HttpClient 3 设置超时
  • tomcat的目录结构
  • struts2中改变struts.xml默认路径
  • 集成spring3、hibernate4、junit
  • 解决android开发中eclipse不能自动提示
  • php的引用
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • HTTP中GET与POST的区别 99%的错误认识
  • JavaScript创建对象的四种方式
  • Java读取Properties文件的六种方法
  • Laravel 中的一个后期静态绑定
  • mac修复ab及siege安装
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • 创建一种深思熟虑的文化
  • 大型网站性能监测、分析与优化常见问题QA
  • 简单基于spring的redis配置(单机和集群模式)
  • 什么是Javascript函数节流?
  • 因为阿里,他们成了“杭漂”
  • 用 Swift 编写面向协议的视图
  • 用element的upload组件实现多图片上传和压缩
  • 积累各种好的链接
  • ​iOS安全加固方法及实现
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (2020)Java后端开发----(面试题和笔试题)
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (未解决)macOS matplotlib 中文是方框
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • ***原理与防范
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .Net Core缓存组件(MemoryCache)源码解析
  • .Net Winform开发笔记(一)
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • .Net各种迷惑命名解释
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • @Autowired注解的实现原理
  • [2009][note]构成理想导体超材料的有源THz欺骗表面等离子激元开关——
  • [Flutter]设置应用包名、名称、版本号、最低支持版本、Icon、启动页以及环境判断、平台判断和打包
  • [hdu 3065] 病毒侵袭持续中 [AC自动机] [病毒特征码匹配]