iOS一些正则表达式的使用(转载自别的技术贴)

@implementation TSRegularExpressionUtil

//邮箱

+ (BOOL) validateEmail:(NSString *)email

{

    NSString *emailRegex = @"[A-Z0-9a-z._%+-][email protected][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]{4,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]{2,5})(·[\u4e00-\u9fa5]{2,5})*";

    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];

}

//银行卡

+ (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];

}

//银行卡后四位

+ (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];

}

//CVN

+ (BOOL) validateCVNCode: (NSString *)cvnCode

{

    BOOL flag;

    if (cvnCode.length <= 0) {

        flag = NO;

        return flag;

    }

    NSString *regex2 = @"^(\\d{3})";

    NSPredicate *cvnCodePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2];

    return [cvnCodePredicate evaluateWithObject:cvnCode];

}

//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];

}

//month

+ (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];

}

//verifyCode

+ (BOOL) validateVerifyCode: (NSString *)verifyCode

{

    BOOL flag;

    if (!verifyCode.length == 6) {

        flag = NO;

        return flag;

    }

    NSString *regex2 = @"^(\\d{6})";

    NSPredicate *verifyCodePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2];

    return [verifyCodePredicate evaluateWithObject:verifyCode];

}

@end

时间: 2024-10-12 22:04:21

iOS一些正则表达式的使用(转载自别的技术贴)的相关文章

iOS之正则表达式(转载)

一.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式达到字符串的复杂控制. 二.正则表达式的语法 看一个过滤纯数字的例子 - (BOOL)validateNumber:(NSString *) textString { NSString* number=@"^[0-9]+$"; NSPredicate *numberPre = [NSPre

【iOS】正则表达式抓取网页数据制作小词典

应用程序不一定要自己去提供数据,有现成的数据学会去用才好. 网络很大,各种搜索引擎每天到处爬.本文通过正则表达式抓取网站的数据来做一个小词典. 一.正则表达式的使用 1. 确定匹配方案,即pattern 2. 用pattern实例化NSRegularExpression 3. 用匹配方法开始匹配. 匹配一次:可以使用firstMatch方法 匹配多次:可以用matchs方法 正则表达式对照表:(在网上找到了一个很不错的表,正则表达式各个语言通用) http://www.jb51.net/shou

IOS中正则表达式的使用

正则表达式在IOS开发中的应用 正则表达式在字符串查找,替换,检测中的应用非常广泛,正则表达式是什么,有怎样的语法,我的另一篇博客中有详细的介绍:http://my.oschina.net/u/2340880/blog/403508.这里只简单说一下其概念 ,正则表达式是一种语法小巧简单的语言,用来约束一些过滤字符串条的条件.很多开发工具都有支持正则表达式的内容,IOS也不例外,在IOS中NSRegularExpression类就是一个专门来处理正则表达式的类. 一.初始化方法 初始化NSReg

iOS之正则表达式的使用

一.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式达到字符串的复杂控制. 二.正则表达式的语法 看一个过滤纯数字的例子 ? 1 2 3 4 5 6 7 - (BOOL)validateNumber:(NSString *) textString { NSString* [email protected]"^[0-9]+$";  NSPre

iOS第三方库汇总[转载]

iOS第三方库汇总[转载] 字数2179 阅读334 评论0 喜欢29 简介 此文用于总结,本人使用过或者收藏过的Github第三方类库,以便日后查阅,也便他人借鉴. 资料整理中不定期更新... 开源项目 CodeHub browse and maintain your GitHub repositories on any iOS device! Open-Source iOS Apps 开源iOS apps列表 APP相关 iVersion 提示版本更新 BonMot 字体相关的库,设置字体样

IOS使用正则表达式去掉html中的标签元素,获得纯文本

IOS使用正则表达式去掉html中的标签元素,获得纯文本 content是根据网址获得的网页源码字符串 NSRegularExpression *regularExpretion=[NSRegularExpression regularExpressionWithPattern:@"<[^>]*>|\n"                                                                                   

转载 程序员技术练级攻略

转载 程序员技术练级攻略 博客分类: 转载 本文转载自陈皓(http://coolshell.cn/articles/author/haoel) 博客: http://coolshell.cn/articles/4990.html 月光博客6月12日发表了<写给新手程序员的一封信>,翻译自<An open letter to those who want to start programming>,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的

iOS 开发者旅途中的指南针 - LLDB 调试技术

文章转载于:iOS 开发者旅途中的指南针 - LLDB 调试技术 今天给大家介绍的内容,无关乎任何功能性开发技术,但又对开发的效率影响至深,这就是调试技术. 何为调试呢,比如我们用 print 函数在指定位置进行输出,来定位某些节点的变量内的取值: 12345 let result = parseJSON("[1,2,3]");print(result); result = parseJSON("error");print(result);4 相信我们大家看到类似这

【转载】关于技术美术的一些个人理解

[转载]关于技术美术的一些个人理解 原文地址http://www.cnblogs.com/sitt/archive/2011/07/21/1980263.html 2011.7.21,凌晨蛋疼,遂更新了一下 技术美术是什么以及需要什么: 以我的了解,游戏行业的技术美术(Technical Artist)应该源于影视动画里面的技术指导或者叫技术总监(Technical Director).此外还有R&D(research and development 研究与开发)这个往往和前面的技术美术或者技术