iOS 项目中最常用的一些工具类

#pragma mark  密码sha1加密

+(NSString * )sha1WithInputStr:(NSString * )inputStr{

const char * cstr = [inputStr cStringUsingEncoding:NSUTF8StringEncoding];

NSData * data = [NSData dataWithBytes:cstr length:inputStr.length];

uint8_t digest[CC_SHA1_DIGEST_LENGTH];

CC_SHA1(data.bytes, (unsigned int)data.length, digest);

NSMutableString * outputStr = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH * 2];

for (int i = 0 ; i< CC_SHA1_DIGEST_LENGTH; i++) {

[outputStr appendFormat:@"%02x",digest[i]];

}

return outputStr;

}

#pragma mark  正则判断手机号是否正确

+ (BOOL)validateNumber:(NSString *) textString

{

NSString* [email protected]"^1[3|4|5|7|8][0-9]\\d{8}$";

NSPredicate *numberPre = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",number];

return [numberPre evaluateWithObject:textString];

}

#pragma mark 正则判断身份证号

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

}

#pragma mark 正则判断快递单号

+ (BOOL) validateEMSnumber: (NSString *)EMSnumber

{

BOOL flag;

if (EMSnumber.length <= 0) {

flag = NO;

return flag;

}

NSString * reg = @"^[0-9a-zA-Z]{10,}$";

NSPredicate *identityCardPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",reg];

return [identityCardPredicate evaluateWithObject:EMSnumber];

}

#pragma mark 正则判断取现金额

+ (BOOL) validateCashMoney: (NSString *)cashMoney

{

BOOL flag;

if (cashMoney.length <= 0) {

flag = NO;

return flag;

}

NSString * reg = @"^(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d){1,2})?$";

NSPredicate *identityCardPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",reg];

return [identityCardPredicate evaluateWithObject:cashMoney];

}

#pragma mark - 正则判断100的整数倍

+ (BOOL)judge100IntegerTimes:(NSString *)str

{

NSString *remainderStr = [NSString stringWithFormat:@"%d", [str intValue] % 100];

NSPredicate *numberPre = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",@"^[0]$"];

return [numberPre evaluateWithObject:remainderStr];

}

#pragma mark 正则判断登录密码是否正确(6-20位数字字母结合)

+ (BOOL)validateNumberOrLetter:(NSString *) textString

{

BOOL result = false;

if ([textString length] >= 6){

NSString * regex = @"^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$";

NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];

result = [pred evaluateWithObject:textString];

}

return result;

}

#pragma mark 正则简单判断银行卡号是否正确(16-19位数字)

+ (BOOL)validateBankCardNumber:(NSString *)textString

{

NSString* [email protected]"^([0-9]{16}|[0-9]{19})$";

NSPredicate *numberPre = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",number];

return [numberPre evaluateWithObject:textString];

}

#pragma mark 手机号码中间变*

+(NSString * )cipherchangeText:(NSString * )changetext firstOne:(NSInteger )firstOne lenght:(NSInteger)lenght{

NSString * number = [changetext stringByReplacingCharactersInRange:NSMakeRange(firstOne, lenght) withString:@"****"];

return number;

}

#pragma mark 获取手机UUID

+(NSString * )uuid{

NSString * uuid = [[[UIDevice currentDevice] identifierForVendor] UUIDString];

return uuid;

}

#pragma mark 自适应高度

+(CGRect)sizeOfText:(NSString * )text Width:(CGFloat )width Font:(CGFloat)fontFloat{

NSDictionary * textDic = [NSDictionary dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:fontFloat],NSFontAttributeName, nil];

CGRect rect  = [text boundingRectWithSize:CGSizeMake(width, 0) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading  attributes:textDic context:nil];

return rect;

}

#pragma mark  自适应宽度

+(CGRect)sizeOfText:(NSString * )text Height:(CGFloat)height Font:(CGFloat)fontFloat{

NSDictionary * textDic = [NSDictionary dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:fontFloat],NSFontAttributeName, nil];

CGRect rect = [text boundingRectWithSize:CGSizeMake(0, height) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:textDic context:nil];

return rect;

}

#pragma mark  图片等比压缩

+ (CGFloat)zoomImageScaleWithImage:(UIImage * )image withWidth:(CGFloat )width

{

UIImage *newImage;

//判断如果图片的SIZE的宽度大于屏幕的宽度就让它压缩

//    if (image.size.width > width) {

//开始压缩图片

CGSize size = image.size;

UIGraphicsBeginImageContext(CGSizeMake(width, width * size.height / size.width));

[image drawInRect:CGRectMake(0, 0, width, width * size.height / size.width)];

newImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

//    }

return newImage.size.height;

}

#pragma mark 创建回收键盘图标

+ (void)createReciveKeyBoardToolBarWithView:(id)view{//回收键盘

UIView * aView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, Width_FullScreen, 30)];

aView.backgroundColor = nil;

BlockButton * btn = [BlockButton buttonWithType:UIButtonTypeCustom];

btn.frame = CGRectMake(Width_FullScreen - 35 , 2, 30, 25);

[btn setImage:[UIImage imageNamed:@"closekeyboard"] forState:UIControlStateNormal];

[btn setBlock:^(BlockButton * btn){

[view endEditing:YES];

}];

[aView addSubview:btn];

[view setInputAccessoryView:aView];

}

时间: 2024-11-02 00:22:48

iOS 项目中最常用的一些工具类的相关文章

旅游管理项目开发之常用的开发工具类

1.JsonDateTypeConvert.java package com.tanzhou.tzms.common.web; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingExc

iOS开发中的第三方类库管理工具-CocoaPods-

转载请注明出处 : http://blog.csdn.net/whjForWork/article/details/44967891 CocoaPods是什么? 当iOS 项目中需要使用第三方开源类库时,或者已使用的类库需要更新时,再去一个个重新下载非常麻烦,但是通过CocoaPods,我们可以一行命令就解决这个问题 CocoaPods是一个负责管理iOS项目中第三方开源代码的工具,Cocoa使用Ruby开发,其源码在Github上开源https://github.com/CocoaPods/C

CocoaPods的使用(管理iOS项目中第三方开源代码)

CocoaPods是一个负责管理iOS项目中第三方开源代码的工具.可以节省设置和更新第三方开源库的时间,提高工作效率. 下面是CocoaPods的使用步骤,强烈建议在家里的网络做以下操作,公司的网太慢了,除非你觉得很快!! 1.打开终端 sudo gem install cocoapods 命令解释:用gem安装cocoapods工具包 输入这行命令后,会让你输入电脑密码 接下来就是一大堆安装操作,耐心等待. 然后会出现下面的情况 Installing ri documentation for

iOS项目中使用CocoaPods问题解决方案

文/yehot(简书作者)原文链接:http://www.jianshu.com/p/a2007d8e2607著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 为什么iOS项目中应该使用CocoaPods作为第三方依赖管理工具?因为: (全文完) 开个玩笑.真正的原因是这样: 目录: 从一个bug说起 分析需求及解决方案 确定方案 CocoaPods学习资料 一.从一个bug说起: 1.公司的项目里统一使用SVG格式的图片:2.GitHub上只有一个star数超过一千的SVG解析库

ios项目中引用其他开源项目

1. 将开源项目的.xcodeproj拖入项目frameworks 2. Build Phases下 Links Binary With Libraries 引入.a文件.Target Dependencies里引入开源项目文件 3. Build Setting下的 Search Paths 里 Header Search Paths 加入开源项目src目录 例:$(SOURCE_ROOT)/IBAForms/headers ,IBA放在项目根目录里,headers就是src 如果和项目根目录平

[转]在iOS项目中使用CorePlot框架

转载地址:http://blog.csdn.net/llfjfz/article/details/7849190#comments Core Plot是OS X和IOS下的一个开源图形库,它提供数据的可视化处理,就是画曲线图.柱状图和饼图等等.如何在项目中使用Core Plot的静态库呢?以下是几个步骤: 首先先去Google Code下载Core Plot图形库,网址 http://code.google.com/p/core-plot/ .目前该网址提供了CorePlot_1.0.zip下载

ios项目中引用其他项目复习

ios项目中引用其他开源项目,今天再次复习了,记个备注. 1. 将开源项目的.xcodeproj拖入项目frameworks 2. Build Phases下 Links Binary With Libraries 引入.a文件.Target Dependencies里引入开源项目文件 3. Build Setting下的 Search Paths 里 Header Search Paths 加入开源项目src目录 例:$(SOURCE_ROOT)/IBAForms/headers ,IBA放在

iOS项目中如何正确引入Html5文件(html/js/css)

iOS项目中使用项目中的html js css 文件时,有时会遇到引用路径出错的问题,导致html js css image文件无法加载的情况. 那么,引入H5相关文件的正确操作方式如下,这样就不会出现资源文件无法引入并正常使用的情况: 1 在项目目录下创建存放Html5文件文件夹:H5 2 将文件夹H5拖放至项目中对应的位置,此处注意要选择:Create groups 3 将各种Html5文件(html js css image等)拖放到H5文件夹中,此处注意选择:Create folder

JAVA项目中的常用的异常处理情况

在网上查阅了相关资料得出了以下JAVA项目中的常用的异常处理情况总结: 1.不要捕获 Java 类库中定义的继承自 RuntimeException 的运行时异常类,如:IndexOutOfBoundsException / NullPointerException,这类异常由程序员预检查违法来规避,保证程序健壮性. 2.异常不要用来做流程控制,条件控制,因为异常的处理效率比条件分支低.这个坑大家要注意了. 3.对大段代码进行 try-catch,这是不负责任的表现. catch 时请分清稳定代