iOS-正则表达式
2015-07-16 09:23
417 查看
1.邮箱验证
2.手机号码
3.用户名
4.密码
5.身份证号
6.银行卡
7.银行卡后四位
8.month
9.year
10.车牌号验证
+ (BOOL) validateEmail:(NSString *)email { NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex]; return [emailTest evaluateWithObject:email]; }
2.手机号码
+ (BOOL) validateMobile:(NSString *)mobile { //手机号以13, 15,18开头,八个 \d 数字字符 NSString *phoneRegex = @"^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$"; NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",phoneRegex]; return [phoneTest evaluateWithObject:mobile]; }
3.用户名
+ (BOOL) validateUserName:(NSString *)name { NSString *userNameRegex = @"^[A-Za-z0-9]{4,20}+$"; NSPredicate *userNamePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",userNameRegex]; return B; }
4.密码
+ (BOOL) validatePassword:(NSString *)passWord { NSString *passWordRegex = @"^[a-zA-Z0-9]{6,20}+$"; NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",passWordRegex]; return [passWordPredicate evaluateWithObject:passWord]; }
5.身份证号
+ (BOOL) validateIdentityCard: (NSString *)identityCard { BOOL flag; if (identityCard.length <= 0) { flag = NO; return flag; } NSString *regex2 = @"^(\\d{14}|\\d{17})(\\d|[xX])$"; NSPredicate *identityCardPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2]; return [identityCardPredicate evaluateWithObject:identityCard]; }
6.银行卡
+ (BOOL) validateBankCardNumber: (NSString *)bankCardNumber { BOOL flag; if (bankCardNumber.length <= 0) { flag = NO; return flag; } NSString *regex2 = @"^(\\d{15,30})"; NSPredicate *bankCardPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2]; return [bankCardPredicate evaluateWithObject:bankCardNumber]; }
7.银行卡后四位
+ (BOOL) validateBankCardLastNumber: (NSString *)bankCardNumber { BOOL flag; if (bankCardNumber.length != 4) { flag = NO; return flag; } NSString *regex2 = @"^(\\d{4})"; NSPredicate *bankCardPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2]; return [bankCardPredicate evaluateWithObject:bankCardNumber]; }
8.month
+ (BOOL) validateMonth: (NSString *)month { BOOL flag; if (!month.length == 2) { flag = NO; return flag; } NSString *regex2 = @"(^(0)([0-9])$)|(^(1)([0-2])$)"; NSPredicate *monthPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2]; return [monthPredicate evaluateWithObject:month]; }
9.year
+ (BOOL) validateYear: (NSString *)year { BOOL flag; if (!year.length == 2) { flag = NO; return flag; } NSString *regex2 = @"^([1-3])([0-9])$"; NSPredicate *yearPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2]; return [yearPredicate evaluateWithObject:year]; }
10.车牌号验证
+ (BOOL) validateCarNo:(NSString *)carNo { NSString *carRegex = @"^[\u4e00-\u9fa5]{1}[a-zA-Z]{1}[a-zA-Z_0-9]{4}[a-zA-Z_0-9_\u4e00-\u9fa5]$"; NSPredicate *carTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",carRegex]; NSLog(@"carTest is %@",carTest); return [carTest evaluateWithObject:carNo]; }
相关文章推荐
- iOS Framework制作
- 在iOS中创建多线程都有哪些方法?
- iOS跳转到另一个程序
- ios 屏幕方向控制
- 问题记录:iOS 用户行为统计代码的剥离
- iOS中实现视图的拖动
- IOS:Camera的特性分析与使用
- IOS中Block用法介绍
- 自己的自定义单元格(IOS)
- 【第一步】iOS开发环境搭建
- IOS学习日记(1)从伟大的hello world开始
- iOS - 事件处理全过程(补充)
- IOS系统通知名(持续更新)
- ios-tableviewcell初始化为什么要用static NSString *str = @"mycell"中得static
- iOS设计模式-单例
- 苹果开发 笔记(50)GCD
- IOS面经系列(二)什么是id ,为什么要用id,在哪用id
- ios开发-inputView和inputAccessoryView
- iOS Scrollview中的AutoLayout(纯IB)
- 基于XMPP的IOS聊天客户端程序