IOS开发中实用的正则表达式
来源:互联网 发布:开普勒第一定律知乎 编辑:程序博客网 时间:2024/06/05 21:50
正则表达式:又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。
这里介绍的正则表达式有:邮箱号验证;手机号验证;身份证验证;汽车牌号验证;用户名验证;密码验证;昵称验证。
Manager.h文件
@interface Manager : NSObject
//验证邮箱
+ (BOOL)validateEmail:(NSString *)email;
//验证手机
+ (BOOL)validateMobile:(NSString *)mobile;
//验证汽车
+ (BOOL)validateCarNo:(NSString *)carNo;
//验证用户名
+ (BOOL)validateUserName:(NSString *)name;
//验证密码
+ (BOOL)validatePassword:(NSString *)passWord;
//验证昵称
+ (BOOL)validateNickname:(NSString *)nickname;
//验证身份证
+ (BOOL)validateIdentityCard: (NSString *)identityCard;
@end
Manager.m文件
#import "Manager.h"
@implementation Manager
//邮箱验证
+ (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];
}
//手机号码验证
+ (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];
}
//车牌号验证
+ (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];
}
//车型验证
+ (BOOL)validateCarType:(NSString *)CarType
{
NSString *CarTypeRegex =@"^[\u4E00-\u9FFF]+$";
NSPredicate *carTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",CarTypeRegex];
return [carTest evaluateWithObject:CarType];
}
//用户名验证
+ (BOOL)validateUserName:(NSString *)name
{
NSString *userNameRegex =@"^[A-Za-z0-9]{6,20}+$";
NSPredicate *userNamePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",userNameRegex];
BOOL B = [userNamePredicate evaluateWithObject:name];
return B;
}
//密码验证
+ (BOOL) validatePassword:(NSString *)passWord
{
NSString *passWordRegex =@"^[a-zA-Z0-9]{6,20}+$";
NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",passWordRegex];
return [passWordPredicate evaluateWithObject:passWord];
}
//昵称验证
+ (BOOL) validateNickname:(NSString *)nickname
{
NSString *nicknameRegex =@"^[\u4e00-\u9fa5]{4,8}$";
NSPredicate *passWordPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",nicknameRegex];
return [passWordPredicate evaluateWithObject:nickname];
}
//身份证号验证
+ (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];
}
@end
- IOS开发中实用的正则表达式
- Android开发中--正则表达式的实用
- iOS开发中正则表达式的使用
- IOS开发中正则表达式的使用
- iOS 开发中正则表达式
- 实用的正则表达式
- 实用的正则表达式
- 实用的正则表达式
- 实用的正则表达式
- 实用的正则表达式
- [绍棠] iOS开发中正则表达式的基础使用
- iOS开发中正则表达式的基础使用
- iOS开发中正则表达式的基础使用
- iOS/Android 开发中常用的正则表达式
- iOS开发中使用正则表达式
- iOS开发中使用正则表达式
- iOS 开发中正则表达式实践(一)
- iOS 开发中正则表达式实践(一)
- ios 编译过程中碰到std::ios_base::Init::~Init()错误的问题解决方法
- String等值对象为什么不可变
- Objective-C私有变量继承问题
- 大家好大家都吃了吗
- 翻硬币
- IOS开发中实用的正则表达式
- ++i和i++效率谁高
- 五、struts2的OGNL的学习
- R语言 | 多元回归分析中的对照编码(contrast coding) | 第一节 dummy variable(哑变量) 和 dummy coding
- 【iOS开发】怎样让label变成圆角的
- 二叉树的非递归遍历
- hdu 1240 Asteroids!
- 位统计法的应用
- build_native.py文件分析(2)