正则表达式是一种用来进行文本匹配的工具,其语法优美简洁。在开发中,查找、对比以及匹配字符串是家常便饭的业务,通过正则表达式我们将这些业务描述成某些需求规则,来让我们的代码更美观、实用。例如我们要验证用户输入的密码长度是否满足6~18位的长度,新手最常见的验证方式是判断输入的密码长度
return (textField.text.length >= 6 && textField.text.leng <= 18);
尽管这种判断方式没有任何问题,而上面的验证换做正则表达式的匹配字符就显得短小精悍
^.{6,18}$
还有,大部分的固定电话都是0区号-八位数字的格式,那么正则表达式的匹配如下
^0\\d{2}\-"htmlcode">
#import "UITextField+LXDValidate.h" @implementation UITextField (LXDValidate) - (BOOL)isEmpty { return self.text.length == ; } - (BOOL)validateEmail { return [self validateWithRegExp: @"^[a-zA-Z-]{,}@[a-z-A-Z]{,}\\.[a-zA-Z]{,}$"]; } - (BOOL)validateAuthen { return [self validateWithRegExp: @"^\\d{,}$"]; } - (BOOL)validatePassword { NSString * length = @"^\\w{,}$"; //长度 NSString * number = @"^\\w*\\d+\\w*$"; //数字 NSString * lower = @"^\\w*[a-z]+\\w*$"; //小写字母 NSString * upper = @"^\\w*[A-Z]+\\w*$"; //大写字母 return [self validateWithRegExp: length] && [self validateWithRegExp: number] && [self validateWithRegExp: lower] && [self validateWithRegExp: upper]; } - (BOOL)validatePhoneNumber { NSString * reg = @"^\\d{}$"; return [self validateWithRegExp: reg]; } - (BOOL)validateWithRegExp: (NSString *)regExp { NSPredicate * predicate = [NSPredicate predicateWithFormat: @"SELF MATCHES %@", regExp]; return [predicate evaluateWithObject: self.text]; } @end
以上内容是小编给大家介绍的有关IOS开发常用的正则表达式,希望大家喜欢。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com
暂无“IOS开发常用的正则表达式”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。