您的位置:首页 > 移动开发 > IOS开发

iOS - 正则表达:NSRegularExpression的用法

2016-09-10 09:43 267 查看
备份

//校验用户名
+ (BOOL) validateUserName : (NSString *) str
{
NSString *patternStr = [NSString stringWithFormat:@"^.{0,4}$|.{21,}|^[^A-Za-z0-9u4E00-u9FA5]|[^\wu4E00-u9FA5.-]|([_.-])1"];
NSRegularExpression *regularexpression = [[NSRegularExpression alloc]
initWithPattern:patternStr
options:NSRegularExpressionCaseInsensitive
error:nil];
NSUInteger numberofMatch = [regularexpression numberOfMatchesInString:str
options:NSMatchingReportProgress
range:NSMakeRange(0, str.length)];

[regularexpression release];

if(numberofMatch > 0)
{
return YES;
}
return NO;
}

//校验用户密码
+ (BOOL) validateUserPasswd : (NSString *) str
{

NSRegularExpression *regularexpression = [[NSRegularExpression alloc]
initWithPattern:@"^[a-zA-Z0-9]{6,16}$"
options:NSRegularExpressionCaseInsensitive
error:nil];
NSUInteger numberofMatch = [regularexpression numberOfMatchesInString:str
options:NSMatchingReportProgress
range:NSMakeRange(0, str.length)];

[regularexpression release];

if(numberofMatch > 0)
{
NSLog(@"%@ isNumbericString: YES", str);
return YES;
}

NSLog(@"%@ isNumbericString: NO", str);
return NO;
}

//校验用户生日
+ (BOOL) validateUserBornDate : (NSString *) str
{

NSString *patternStr = @"^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$";
NSRegularExpression *regularexpression = [[NSRegularExpression alloc]
initWithPattern:patternStr
options:NSRegularExpressionCaseInsensitive
error:nil];
NSUInteger numberofMatch = [regularexpression numberOfMatchesInString:str
options:NSMatchingReportProgress
range:NSMakeRange(0, str.length)];

[regularexpression release];

if(numberofMatch > 0)
{
NSLog(@"%@ isNumbericString: YES", str);
return YES;
}

NSLog(@"%@ isNumbericString: NO", str);
return NO;
}

//校验用户手机号码
+ (BOOL) validateUserPhone : (NSString *) str
{
NSRegularExpression *regularexpression = [[NSRegularExpression alloc]
initWithPattern:@"((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)"
options:NSRegularExpressionCaseInsensitive
error:nil];
NSUInteger numberofMatch = [regularexpression numberOfMatchesInString:str
options:NSMatchingReportProgress
range:NSMakeRange(0, str.length)];

[regularexpression release];

if(numberofMatch > 0)
{
NSLog(@"%@ isNumbericString: YES", str);
return YES;
}

NSLog(@"%@ isNumbericString: NO", str);
return NO;
}

//校验用户邮箱
+ (BOOL) validateUserEmail : (NSString *) str
{
NSRegularExpression *regularexpression = [[NSRegularExpression alloc]
initWithPattern:@"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
options:NSRegularExpressionCaseInsensitive
error:nil];
NSUInteger numberofMatch = [regularexpression numberOfMatchesInString:str
options:NSMatchingReportProgress
range:NSMakeRange(0, str.length)];

[regularexpression release];

if(numberofMatch > 0)
{
NSLog(@"%@ isNumbericString: YES", str);
return YES;
}

NSLog(@"%@ isNumbericString: NO", str);
return NO;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: