IOS开发常用的正则表达式(2)

除了上面列出的字符外,还有包括表示位置指定等较难运用的其他正则表达式,但上面的字符已经足够我们正常使用了。想了解更多知识可以度娘Google。

代码实操

上面我们只是简单的讲解了正则表达式中各个字符代表的意义,那么在iOS开发中应该怎么使用。对于有意使用正则规则来匹配的开发者,我的建议是封装成为类别方法,一次封装,多次调用。下面用我自己封装的代码进行说明。这些方法通过扩展UITextField方法来实现:

@interface UITextField (LXDValidate)
/*! 判断文本框是否为空(非正则表达式)*/
- (BOOL)isEmpty;
/*! 判断邮箱是否正确*/
- (BOOL)validateEmail;
/*! 判断验证码是否正确*/
- (BOOL)validateAuthen;
/*! 判断密码格式是否正确*/
- (BOOL)validatePassword;
/*! 判断手机号码是否正确*/
- (BOOL)validatePhoneNumber;
/*! 自己写正则传入进行判断*/
- (BOOL)validateWithRegExp: (NSString *)regExp;
@end

方法实现文件:

#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开发常用的正则表达式,希望大家喜欢。

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjpdjd.html