iOS开发常见正则表达式

来源:互联网 发布:装机软件推广联盟 编辑:程序博客网 时间:2024/05/16 19:16

在开发中遇到一些判断需要正则表达式,特意封装了个工具类供大家使用 

////  CheckTool.h//  Hello_Tom////  Created by  on 15/12/2.//  Copyright © 2015年 . All rights reserved.//#import <Foundation/Foundation.h>@interface CheckTool : NSObject//判断邮箱是否合法+ (BOOL) isValidateEmail:(NSString *)email;//判断字符串是否为空+ (BOOL) isBlankString:(id)string;//判断是否是中文+ (BOOL) isHanzi:(NSString *)str;//判断是否是英文+ (BOOL) isEnglish:(NSString *)str;//判断是否是数字+ (BOOL) isNumber:(NSString *)str;//判断是否汉字与英文+(BOOL)checkIsHanziAndIsEnglist:(NSString *)str;//判断手机号是否合法+ (BOOL) isValidateMobile:(NSString *)mobile;@end

////  CheckTool.m//  Hello_Tom////  Created by  on 15/12/2.//  Copyright © 2015年 . All rights reserved.//#import "CheckTool.h"@implementation CheckTool//判断邮箱是否合法+ (BOOL) isValidateEmail:(NSString *)email {    NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";    NSPredicate *emailText = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",emailRegex];    return [emailText evaluateWithObject:email];}//判断字符串是否为空+ (BOOL) isBlankString:(id )string {        if ([string isKindOfClass:[NSNull class]]) {        return YES;    }        if (string == nil || string == NULL || [string length] == 0) {        return YES;    }        if ([[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length]==0) {        return YES;    }    if ([string isEqualToString:@"(null)"] || [string isEqualToString:@""]) {        return YES;    }    if ([string isEqualToString:@"<null>"]){        return YES;    }    return NO;}//判断是否是中文+ (BOOL) isHanzi:(NSString *)str{    NSString *strRegex = @"^[\u4e00-\u9fa5]+$";    NSPredicate *strText = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",strRegex];    NSString *mystring = str;    if ([strText evaluateWithObject:mystring] == YES) {        return YES;    }    else{        return NO;    }    }//判断是否是英文+ (BOOL) isEnglish:(NSString *)str {    NSString *strRegex = @"[A-Za-z]+$";    NSPredicate *strText = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",strRegex];    NSString *mystring = str;    if ([strText evaluateWithObject:mystring] == YES) {        return YES;    }    else{        return NO;    }}//判断是否是数字+ (BOOL) isNumber:(NSString *)str {    NSString *strRegex = @"^[0-9]*$";    NSPredicate *strText = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",strRegex];    NSString *mystring = str;    if ([strText evaluateWithObject:mystring] == YES) {        return YES;    }    else{        return NO;    }}//判断是否汉字与英文+(BOOL)checkIsHanziAndIsEnglist:(NSString *)str{    if([CheckTool isHanzi:str] || [CheckTool isEnglish:str] || [str isEqualToString:@""]){        return YES;    }else    {        return NO;    }}//判断手机号是否合法+ (BOOL) isValidateMobile:(NSString *)mobile{    //手机号以13,15,18开头,八个 \d 数字字符  ^(13[0-9]|15[0-9]|18[0|6|8|9])\d{8}$    NSString *phoneRegex = @"^((13[0-9])|(14[0-9])|(15[0-9])|(19[0-9])|(18[0-9])|(17[0-9]))\\d{8}$";    NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",phoneRegex];    return [phoneTest evaluateWithObject:mobile];}@end


1 0
原创粉丝点击