DDR爱好者之家 Design By 杰米

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

DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米

P70系列延期,华为新旗舰将在下月发布

3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。

而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?

根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。