文档章节

有关NSString的一些类扩展方法

默默沫沫shine
 默默沫沫shine
发布于 2016/05/23 13:24
字数 211
阅读 5
收藏 0

//

//  NSString+MD5_LQ.m

//  BiJiaApp

//

//  Created by 华育 on 16/5/11.

//  Copyright © 2016年 华育. All rights reserved.

//

 

#import "NSString+MD5_LQ.h"

 

@implementation NSString (MD5_LQ)

 

+(NSString *)MD5_input:(NSString *)input

{

    const char *str = [input UTF8String];

    unsigned char result[CC_MD5_DIGEST_LENGTH];

    CC_MD5(str, (int)strlen(str), result);

    NSMutableString *ret = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH*2];//

    

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

        [ret appendFormat:@"%02x",result[i]];

    }

    return ret;

}

 

+(BOOL )isTrueEmail:(NSString *)input

{

    NSString *email = @"^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\.\\w+([-.]\\w+)*$";

    NSPredicate *emailPre = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",email];

    return [emailPre evaluateWithObject:input];

}

 

//身份证号

+(BOOL)isTrueIdentity_Num:(NSString *)input

{

    NSString *Identity_Num = @"^[1-9][0-9]{5}(19[0-9]{2}|200[0-9]|2010)(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])[0-9]{3}[0-9xX]$";

    

    NSPredicate *Identity_NumPre = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",Identity_Num];

    

    return [Identity_NumPre evaluateWithObject:input];

}

 

//合法密码

+(BOOL)isTruePassWord:(NSString *)input

{

    NSString *PassWord = @"^[a-zA-Z][a-zA-Z0-9_]{4,15}$";

    

    NSPredicate *PassWordPre = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",PassWord];

    

    return [PassWordPre evaluateWithObject:input];

}

 

//汉字

+(BOOL)isTrueChinese_character:(NSString *)input

{

    NSString *Chinese_character = @"^[\u4e00-\u9fa5]{0,}$";

    

    NSPredicate *Chinese_characterPre = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",Chinese_character];

    

    return [Chinese_characterPre evaluateWithObject:input];

}

 

 

 

@end

 

© 著作权归作者所有

共有 人打赏支持
上一篇: 获取用户IP
默默沫沫shine
粉丝 0
博文 15
码字总数 4174
作品 0
朝阳
程序员
私信 提问
编写 Objective-C 代码/掌握基本的编程技能 之 读后笔记

类和接口(任何类可采用)的动态扩展 #import <Gizmo/Gizmo.h> @interface MyClass : NSObject { int count; id data; NSString* name; } - (id)initWithString:(NSString*)aName; + (MyClas......

芒果阿狸
2012/12/12
0
0
iOS开发的技巧,新的一篇,持续更新。。。(系列二)

上一篇:iOS开发的一些小技巧,持续更新。。。。(系列一) 20140331 1、说一说通知NSNotification和NSNotificationCenter 在iOS应用开发中有一个Notification Center的概念,它是一个单利对...

召唤攻城狮
2014/04/03
0
0
iOS8新特性扩展(Extension)应用之四——自定义键盘控件

iOS8新特性扩展(Extension)应用之四——自定义键盘控件 iOS8系统的开放第三方键盘,使得用户在输入法的选择上更加自主灵活,也更加贴近不同语言的输入风格。这篇博客,将介绍如何开发一个第三...

珲少
2015/07/31
0
9
iOS中KVC与KVO的应用解析

iOS中KVC与KVO的应用解析 一、NSKeyValueCoding(KVC) 1、从一个小例子引入 KVC键值编码是Object-C为我们提供的一种对成员变量赋值的方法。在探讨其方法之前,我们先来看一个小例子: 首先,...

珲少
2015/05/05
0
0
JSPatch库, 一个Apple官方支持的实现在线更新iOS应用的库

简介 项目主页: https://github.com/bang590/JSPatch 示例下载: https://github.com/ios122/ios122 JSPatch 可以让你用 JavaScript 书写原生 iOS APP。只需在项目引入极小的引擎,就可以使用...

ios122
2015/11/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mybatis批量update操作的写法,及批量update报错的问题解决方法

mybatis的批量update操作写法很简单,如下: 如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java高级交流:854630135,群里有阿...

编程SHA
19分钟前
1
0
EOS怎样删除钱包

在使用Eos的keosd钱包软件时,如果要删除EOS中指定名称的钱包,最简单的办法是 直接删除钱包文件,不过在删除钱包之前,需要先停止钱包软件的运行。 学习EOS应用开发要选这个:【EOS智能合约...

汇智网教程
26分钟前
4
0
Java语言快速实现简单MQ消息队列服务

使用 JAVA 语言自己动手来写一个MQ (类似ActiveMQ,RabbitMQ) 主要角色 首先我们必须需要搞明白 MQ (消息队列) 中的三个基本角色 ProducerBrokerConsumer 整体架构如下所示 自定义协议 首...

微笑向暖wx
35分钟前
5
0
ES5和ES6那些你必须知道的事儿

  ES5和ES6那些你必须知道的事儿      ES5新增的东西      一、数组方法      1、forEach      用途:遍历,循环      对于空数组不会执行回调函数      复制代码...

SEOwhywhy
今天
11
0
转:[windows]DOS批处理添加任务计划

[windows]DOS批处理添加任务计划 博客分类: Windows 转自:http://gwmold.blog.163.com/blog/static/1553319892010117113457232/ 自动创建每周运行一次的计划任务 创建计划任务可用at,sch...

SamXIAO
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部