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
相关文章推荐
- ios textField 输入值监听
- iOS RunLoop 初识
- iOS开发笔记-判断输入的是否是字母
- iOS开发之核心动画
- iOS开发笔记- 判断是否是数字
- [原]iOS--字符编码,NSString和UTF-8间的转换
- 好的iOS GitHub链接
- iOS客户端学习-SDWebImage
- iOS-自定义AlertView(便利构造器)
- iOS 开发笔记和技巧总结(一)
- Dynamic linking static library on iOS
- iOS 容器视图控制器
- px像素单位与IOS像素单位的换算
- iOS --- block的一些使用方法(反向传值)
- iOS某操作霸占主线程过久导致界面假死的一种解决方法
- ios 基本图形的绘制
- iOS通知的添加和移除
- iOS中使用RegexKitLite来试用正则表达式 使用ARC 20个错误解决办法
- iOS基础知识点
- IOS基础——图片浏览器