您的位置:首页 > 移动开发 > IOS开发

iOS开发常见正则表达式

2015-12-02 17:01 507 查看
在开发中遇到一些判断需要正则表达式,特意封装了个工具类供大家使用

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: