常用的正则表达式

来源:互联网 发布:mac 截图 任意区域 编辑:程序博客网 时间:2024/06/11 17:41
////  HelperUtil.m//  SQLite(购物)////  Created by Yock Deng on 15/8/22.//  Copyright (c) 2015年 蓝桥. All rights reserved.//#import "HelperUtil.h"@implementation HelperUtil+ (NSString *) nullDefultString: (NSString *)fromString null:(NSString *)nullStr{    if ([fromString isEqualToString:@""] || [fromString isEqualToString:@"(null)"] || [fromString isEqualToString:@"<null>"] || [fromString isEqualToString:@"null"] || fromString==nil) {        return nullStr;    }else{        return fromString;    }}+ (NSString *)htmlShuangyinhao:(NSString *)values{    if (values == nil) {        return @"";    }    /*     字符串的替换     注:将字符串中的参数进行替换     参数1:目标替换值     参数2:替换成为的值     参数3:类型为默认:NSLiteralSearch     参数4:替换的范围     */    NSMutableString *temp = [NSMutableString stringWithString:values];    [temp replaceOccurrencesOfString:@"\"" withString:@"'" options:NSLiteralSearch range:NSMakeRange(0, [temp length])];    [temp replaceOccurrencesOfString:@"\n" withString:@"" options:NSLiteralSearch range:NSMakeRange(0, [temp length])];    [temp replaceOccurrencesOfString:@"\r" withString:@"" options:NSLiteralSearch range:NSMakeRange(0, [temp length])];    return temp;}+ (UIColor *) colorWithHexString: (NSString *) stringToConvert{    NSString *cString = [[stringToConvert stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString];    // String should be 6 or 8 characters    if ([cString length] < 6) return [UIColor colorWithWhite:1.0 alpha:0.5];    // strip 0X if it appears    if ([cString hasPrefix:@"0X"]) cString = [cString substringFromIndex:2];    if ([cString hasPrefix:@"#"]) cString = [cString substringFromIndex:1];    if ([cString length] != 6) return [UIColor colorWithWhite:1.0 alpha:0.5];    // Separate into r, g, b substrings    NSRange range;    range.location = 0;    range.length = 2;    NSString *rString = [cString substringWithRange:range];    range.location = 2;    NSString *gString = [cString substringWithRange:range];    range.location = 4;    NSString *bString = [cString substringWithRange:range];    // Scan values    unsigned int r, g, b;    [[NSScanner scannerWithString:rString] scanHexInt:&r];    [[NSScanner scannerWithString:gString] scanHexInt:&g];    [[NSScanner scannerWithString:bString] scanHexInt:&b];    return [UIColor colorWithRed:((float) r / 255.0f)                           green:((float) g / 255.0f)                            blue:((float) b / 255.0f)                           alpha:1.0f];}#pragma 正则匹配邮箱号+ (BOOL)checkMailInput:(NSString *)mail{    NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];    return [emailTest evaluateWithObject:mail];}#pragma 正则匹配手机号+ (BOOL)checkTelNumber:(NSString *) telNumber{    /**     * 手机号码     * 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188     * 联通:130,131,132,152,155,156,185,186     * 电信:133,1349,153,180,189     */    NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$";    /**     10         * 中国移动:China Mobile     11         * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188     12         */    NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$";    /**     15         * 中国联通:China Unicom     16         * 130,131,132,152,155,156,183,185,186     17         */    NSString * CU = @"^1(3[0-2]|5[256]|8[356])\\d{8}$";    /**     20         * 中国电信:China Telecom     21         * 133,1349,153,180,189     22         */    NSString * CT = @"^1((33|53|8[09])[0-9]|349)\\d{7}$";    /**     25         * 大陆地区固话及小灵通     26         * 区号:010,020,021,022,023,024,025,027,028,029     27         * 号码:七位或八位     28         */    // NSString * PHS = @"^0(10|2[0-5789]|\\d{3})\\d{7,8}$";    NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];    NSPredicate *regextestcm = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM];    NSPredicate *regextestcu = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU];    NSPredicate *regextestct = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT];    if (([regextestmobile evaluateWithObject:telNumber] == YES)        || ([regextestcm evaluateWithObject:telNumber] == YES)        || ([regextestct evaluateWithObject:telNumber] == YES)        || ([regextestcu evaluateWithObject:telNumber] == YES))    {        return YES;    }    else    {        return NO;    }}#pragma 正则匹配用户密码6-18位数字和字母组合+ (BOOL)checkPassword:(NSString *) password{    NSString *pattern = @"^(?![0-9]+$)(?![a-zA-Z]+$)[a-zA-Z0-9]{6,18}";    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];    BOOL isMatch = [pred evaluateWithObject:password];    return isMatch;}#pragma 正则匹配用户姓名,20位的中文或英文+ (BOOL)checkUserName : (NSString *) userName{//    NSString *pattern = @"^[A-Za-z0-9]{6,20}+$";    NSString *pattern = @"^([\u4e00-\u9fa5]+|([a-zA-Z]+\s?)+)$";    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];    BOOL isMatch = [pred evaluateWithObject:userName];    return isMatch;}#pragma 正则匹配用户身份证号15或18位+ (BOOL)checkUserIdCard: (NSString *) idCard{    BOOL flag;    if (idCard.length <= 0) {        flag = NO;        return flag;    }    NSString *regex2 = @"^(\\d{14}|\\d{17})(\\d|[xX])$";    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2];    BOOL isMatch = [pred evaluateWithObject:idCard];    return isMatch;}#pragma 正则匹员工号,12位的数字+ (BOOL)checkEmployeeNumber : (NSString *) number{    NSString *pattern = @"^[0-9]{12}";    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];    BOOL isMatch = [pred evaluateWithObject:number];    return isMatch;}#pragma 正则匹配URL+ (BOOL)checkURL : (NSString *) url{    NSString *pattern = @"^[0-9A-Za-z]{1,50}";    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];    BOOL isMatch = [pred evaluateWithObject:url];    return isMatch;}#pragma 正则匹配昵称+ (BOOL) checkNickname:(NSString *) nickname{    NSString *nicknameRegex = @"^[\u4e00-\u9fa5]{4,8}$";    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",nicknameRegex];    BOOL isMatch = [pred evaluateWithObject:nickname];    return isMatch;}#pragma 正则匹配以C开头的18位字符+ (BOOL) checkCtooNumberTo18:(NSString *) nickNumber{    NSString *nickNum=@"^C{1}[0-9]{18}$";    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",nickNum];    BOOL isMatch = [pred evaluateWithObject:nickNumber];    return isMatch;}#pragma 正则匹配以C开头字符+ (BOOL) checkCtooNumber:(NSString *) nickNumber{    NSString *nickNum=@"^C{1}[0-9]+$";    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",nickNum];    BOOL isMatch = [pred evaluateWithObject:nickNumber];    return isMatch;}#pragma 正则匹配银行卡号是否正确+ (BOOL) checkBankNumber:(NSString *) bankNumber{    NSString *bankNum=@"^([0-9]{16}|[0-9]{19})$";    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",bankNum];    BOOL isMatch = [pred evaluateWithObject:bankNumber];    return isMatch;}#pragma 正则匹配17位车架号+ (BOOL) checkCheJiaNumber:(NSString *) CheJiaNumber{    NSString *bankNum=@"^(\\d{17})$";    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",bankNum];    BOOL isMatch = [pred evaluateWithObject:CheJiaNumber];    return isMatch;}#pragma 正则只能输入数字和字母+ (BOOL) checkTeshuZifuNumber:(NSString *) CheJiaNumber{    NSString *bankNum=@"^[A-Za-z0-9]+$";    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",bankNum];    BOOL isMatch = [pred evaluateWithObject:CheJiaNumber];    return isMatch;}#pragma 车牌号验证+ (BOOL) checkCarNumber:(NSString *) CarNumber{    NSString *bankNum = @"^[\u4e00-\u9fa5]{1}[a-zA-Z]{1}[a-zA-Z_0-9]{4}[a-zA-Z_0-9_\u4e00-\u9fa5]$";    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",bankNum];    BOOL isMatch = [pred evaluateWithObject:CarNumber];    return isMatch;}@end
0 0
原创粉丝点击