关于正则表达式,百度百科中是这样说的

正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本.

在iOS开发中我们经常用来检测输入框中输入的字符是否符合我们规定的格式,比如我们需要用户在一个输入框中输入一个手机号,只有正确的手机号才可以触发我们的方法,在没有用正则表达式的时候我们可能需要写很多代码来判断它的格式,但是正则表达式为我们带来了更加简便的方法

例如 我们要判断一个手机号码格式是否正确可以这样写

- (IBAction)phoneButton:(UIButton *)sender {if ([self.field.text isPhoneNumber]) {NSLog(@"是手机号码格式");}else {NSLog(@"不是手机号码格式");}}
复制代码

上面的代码中 isPhoneNumber是我自己封装的一个方法,它的内部实现是这样的

/***  判断字符串格式是否为手机号*/
-(BOOL)isPhoneNumber{return [self getIsMatches:@"^1[3|4|5|7|8][0-9]\\d{8}$"];
}/***  判断方法**  @param Regex 判断标准*/
-(BOOL)getIsMatches:(NSString *)Regex{NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",Regex];return [predicate evaluateWithObject:self];}
复制代码

^1[3|4|5|7|8][0-9]\d{8}$ 代表了第一位必须是数字1,第二位可以为3、4、5、7、8、任何一位 之后必须为8位0-9之间的数字

关于正则表达式的具体规范和常用方法可以参照这篇文章正则表达式在iOS中的运用;

具体的代码可以下载RegexDemo;

转载于:https://juejin.im/post/5b5c0ef5f265da0f881618a3

iOS开发小知识之正则表达式的简单用法相关推荐

  1. iOS开发基础知识--碎片41

    iOS开发基础知识--碎片41 1:UIWebView加载本地的HTML NSString *path = [[NSBundle mainBundle] bundlePath]; NSURL *bas ...

  2. iOS开发基础知识--碎片19

    iOS开发基础知识--碎片19  1:键盘事件顺序 UIKeyboardWillShowNotification // 键盘显示之前 UIKeyboardDidShowNotification // ...

  3. iOS开发基础知识--碎片44

    iOS开发基础知识--碎片44  iOS开发基础知识--碎片44 1:App跳转至系统Settings 跳转在IOS8以上跟以下是有区别的,如果是IOS8以上可以如下设置: NSURL *url = ...

  4. iOS开发基础知识--碎片27

     iOS开发基础知识--碎片27 1:iOS中的round/ceil/floorf extern float ceilf(float); extern double ceil(double); ext ...

  5. iOS开发小技巧 -- tableView-section圆角边框解决方案

    iOS开发小技巧 -- tableView-section圆角边框解决方案 参考文章: (1)iOS开发小技巧 -- tableView-section圆角边框解决方案 (2)https://www. ...

  6. iOS开发基础知识--碎片37

    iOS开发基础知识--碎片37 iOS开发基础知识--碎片37 iOS开发基础知识--碎片37 1:iOS 使用NJKWebViewProgress做webview进度条 引入头文件: #import ...

  7. 27个iOS开发小技巧

    <span style="word-wrap: normal; word-break: normal; line-height: 1.5em; font-size: 14px; out ...

  8. Python爬虫及其它函数知识读记及简单用法,持续更新中...

    Python爬虫相关函数知识读记及简单用法,持续更新中- requests [riˈkwests] n. 请求,要求( request的名词复数 ): 需要: 所请求的事物: 申请书 函数或单词- 音 ...

  9. IOS开发Swift——开发小知识(持续更新)

    如有错误,请指正!谢谢! 侵权删!(部分转载) 1.PHAsset获取本地视频的url PHCachingImageManager().requestAVAsset(forVideo: asset, ...

最新文章

  1. Roger Ver:BCH比BCE更适合机构投资者
  2. linux下screen工具使用
  3. 编程语言python培训-0基础转行IT,编程语言应该学习Java还是Python呢?
  4. python笔记:数组的一些操作
  5. Kafka Design
  6. 开发自定义JSF组件(4) 保存状态与恢复状态
  7. 美团在Redis上踩过的一些坑-1.客户端周期性出现connect timeout
  8. Spring配置形式之基于注解的方式
  9. Android开发之RecyclerView滑动到底部的监听方法
  10. 厦门one_理想ONE真是“500万内最好的车”?
  11. 2009年Silverlight十大流行应用
  12. ↑nginx+tomcat+httpd实现动静分离↑
  13. 如何控制Asp.net Login控件的重定向地址
  14. 计算机绘图设备cmy,《计算机图形学》练习测试题库
  15. 【全开源商城小程序源码】ThinkPHP 5.1+带后台商城源码程序+带详细安装使用文档
  16. 2021WordPress转z-blog搬家教程_WordPress搬家zblog博客程序工具
  17. 产品原型工具 AXURE9 Mac汉化
  18. SharePoint2010向2013升级排错
  19. win10通过OneDrive实现办公室的电脑和家里电脑重要数据同步
  20. 从软件工程师到有赞新零售技术负责人,34岁李星专访

热门文章

  1. android回调函数
  2. Oracle和Mysql的 != 差异
  3. 新手提升JSP技术能力的一点建议-调试篇
  4. 全面探讨PL/SQL的复合数据类型
  5. [UWP]了解模板化控件(7):支持Command
  6. [HNOI2008]遥远的行星
  7. 【nginx学习一】基本原理初探
  8. Linux常用命令(2)
  9. 在linux中如何高效的使用帮助
  10. 批处理中的****1nul 2nul