在开发中遇到一些判断需要正则表达式,特意封装了个工具类供大家使用
//
// 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