iOS---日期、邮政编码、Email、手机号、QQ号、URL、座机号等校验

//座机号码验证

- (BOOL) validateTelphone:(NSString*)telphone

{

    NSString *pattern = @"^0(10|2[0-5789]|\\d{3})\\d{7,8}$";

   return [self matchWithPattern:pattern andWillPatternStr:telphone];

}

//URL验证

- (BOOL) validateUrl:(NSString*)url

{

    NSString *pattern = @"http(s)?:\\/\\/([\\w-]+\\.)+[\\w-]+(\\/[\\w- .\\/?%&=]*)?";

     return [self matchWithPattern:pattern andWillPatternStr:url];

}

//  QQ的匹配模式

- (BOOL) isQQ:(NSString*)qqStr {

    NSString *pattern = @"^[1-9]\\d{5,10}$";

    return [self matchWithPattern:pattern andWillPatternStr:qqStr];

}

//  手机号的匹配模式

- (BOOL) isPhone:(NSString*)phoneStr {

    NSString *pattern = @"^[1]+[3,,4,5,6,7,8,9]+\\d{9}";

    if(phoneStr.length!=11) {

        returnNO;

    }

    return [self matchWithPattern:pattern andWillPatternStr:phoneStr];

}

//  Email的匹配模式

- (BOOL) isEmail:(NSString*)emailStr{

    NSString  *pattern =@"^[a-z0-9]+([\\._\\-]*[a-z0-9])*@([a-z0-9]+\\-*[a-z0-9]+\\.){1,63}[a-z0-9]+$";

    return [self matchWithPattern:pattern andWillPatternStr:emailStr];

}

//  邮政编码的匹配模式

-(BOOL)isPostCode:(NSString*)postStr{

    NSString *pattern = @"[0-9]\\d{5}(?!\\d)";

    return [self matchWithPattern:pattern andWillPatternStr:postStr];

}

//  日期的匹配模式

-(BOOL)isDate:(NSString*)dateStr{

    NSString  *pattern =@"(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})(((0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)(0[1-9]|[12][0-9]|30))|(02(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))0229)";

    return [self matchWithPattern:pattern andWillPatternStr:dateStr];

}

/// @param pattern 匹配模式------NO不是相应格式    --YES是相应格式

- (BOOL) matchWithPattern:(NSString*) pattern  andWillPatternStr:(NSString*)patternStr{

    NSError*error =nil;

    NSRegularExpression *regularExpression = [NSRegularExpression regularExpressionWithPattern:pattern options:0 error:&error];

    if(error) {

        NSLog(@"创建正则表达式失败%@",error);

        returnNO;

    }

    //  匹配

    NSTextCheckingResult*results  = [regularExpressionfirstMatchInString:patternStroptions:0range:NSMakeRange(0, patternStr.length)];

    if(results) {

        returnYES;

    }else{

        returnNO;

    }

}

你可能感兴趣的:(iOS---日期、邮政编码、Email、手机号、QQ号、URL、座机号等校验)