//座机号码验证
- (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;
}
}
网友评论