IOS开发常用的正则表达式

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

一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?