if (账号的格式正确&&密码的格式正确&&验证码的格式正确){
[发送网络请求进行下一步]
}
/** 校验状态 */
@property(nonatomic, assign)MitRegexStateType status;
/** 返回状态文本 */
@property(nonatomic, strong)NSString * statusString;
/** 是否通过了校验
当连续校验多个值的时候会使用到此值.
*/
@property(nonatomic, getter=isPassed)BOOL passed;
/** 校验手机号 */
-(MitRegexMaker * (^)(NSString * str))validatePhone;
/** 校验密码 */
-(MitRegexMaker * (^)(NSString * str))validatePsd;
/** 校验验证码 */
-(MitRegexMaker * (^)(NSString * str))validateCodeNumber;
/** 验证身份证 */
-(MitRegexMaker * (^)(NSString * str))validatePersonalId;
/** 验证 email */
-(MitRegexMaker*(^)(NSString *))validateEmail;
- NSObject+mitRegexMaker.h 初始化类扩展,提供不同返回值的初始化方式,使用者可以按需调用。
/** 获取处理类 */
+(MitRegexMaker*)mit_makeMitRegexMaker:(void(^)(MitRegexMaker * maker))block;
/**
* 状态码 + 状态码信息 (Block)
* @param block 校验处理类
* @param mitBlock 返回状态值信息(只有当校验状态全部通过的时候, isPassed 才返回 Yes)
*/
+(void)mit_makeMitRegexMaker:(void(^)(MitRegexMaker * maker))block MitValue:(void(^)(MitRegexStateType statusType,NSString * statusStr,BOOL isPassed))mitBlock;
/** 返回状态码 */
+(MitRegexStateType)mit_makeMitRegexStatusMaker:(void (^)(MitRegexMaker * maker))block;
/** 返回状态码所对应状态信息 */
+(NSString *)mit_makeMitRegexStatusStringMaker:(void (^)(MitRegexMaker * maker))block;
/**
如果之前前面一个条件的校验未通过,将不会再进行下一个校验,返回的状态值也是未通过的校验值
只有当校验条件全部通过的时候, isPassed 才为1.
*/
[NSObject mit_makeMitRegexMaker:^(MitRegexMaker *maker) {
maker.validateCodeNumber(@"1234").validatePhone(@"15941281116").validatePsd(@"123456").validatePersonalId(@"2103021991071").validateEmail(@"41692292@roo.bo");
} MitValue:^(MitRegexStateType statusType, NSString * statusStr , BOOL isPassed) {
NSLog(@"是否通过校验 = %d 状态码 = %ld, 状态详细 = %@",isPassed,statusType,statusStr);
}];
NSObject+mitRegexMaker.h
中提供的类方法完成 MitRegexMaker
实例的创建,并通过代码块返回实例,接着在代码块中按需调用 MitRegexMaker
的校验方法完成校验,这里每个校验方法都会返回实例本身,以便进行下一次的格式校验。