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