美文网首页
iOS常用正则判断

iOS常用正则判断

作者: fankang | 来源:发表于2017-01-11 11:02 被阅读10次

    //手机号检索

    #define IS_Number(senderString)({  NSString *pattern = @"^((13[0-9])|(147)|(15[^4,\\D])|(18[0,5-9]))\\d{8}$";  \

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

    ([pred evaluateWithObject:senderString])? YES : NO;                                  \

    })

    //密码检索

    #define IS_Password(senderString)({  NSString *regex = @"^(?![0-9]+$)(?![a-zA-Z]+$)(?![`~!@#$%^&*()+=|{}_':;',\\\\[\\\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?])([0-9A-Za-z]|[`~!@#$%^&*()+=|{}_':;',\\\\[\\\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]){6,20}$";  \

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

    ([pred evaluateWithObject:senderString])? YES : NO;                                  \

    })

    //6位数字检索

    #define IS_Digital(senderString)({    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"^[0-9]{6}+$" options:NSRegularExpressionCaseInsensitive error:nil];  \

    NSInteger numberOfMatches = [regex numberOfMatchesInString:senderString options:0 range:NSMakeRange(0, [senderString length])];\

    numberOfMatches > 0 ? YES : NO;                                  \

    })

    //昵称检索

    #define IS_Name(senderString)({  NSString *regex = @"^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]{1,13}+$";  \

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

    ([pred evaluateWithObject:senderString])? YES : NO;                                  \

    })

    相关文章

      网友评论

          本文标题:iOS常用正则判断

          本文链接:https://www.haomeiwen.com/subject/wktrbttx.html