(编辑:jimmy 日期: 2024/11/12 浏览:2)
正则表达式是一种用来进行文本匹配的工具,其语法优美简洁。在开发中,查找、对比以及匹配字符串是家常便饭的业务,通过正则表达式我们将这些业务描述成某些需求规则,来让我们的代码更美观、实用。例如我们要验证用户输入的密码长度是否满足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开发常用的正则表达式,希望大家喜欢。