NSRegularExpression是iOS系统在4.0后自带的匹配正则表达式,一般会和NSTextCheckingResult配套使用。
代码:
//匹配输入的联系方式是否为QQ号码或者电子邮箱
代码放在这里,有需要直接拿去。自己也做备份,以后使用方便。Java代码
//校验用户名
+ (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:NSRegularExpressionCaseI nsensitive
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:NSRegularExpressionCaseI nsensitive
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]|1d|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:NSRegularExpressionCaseI nsensitive
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:NSRegularExpressionCaseI nsensitive
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:NSRegularExpressionCaseI nsensitive
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) validateUserName : (NSString *) str
{
}
//校验用户密码
+ (BOOL) validateUserPasswd : (NSString *) str
{
}
//校验用户生日
+ (BOOL) validateUserBornDate : (NSString *) str
{
}
//校验用户手机号码
+ (BOOL) validateUserPhone : (NSString *) str
{
}
//校验用户邮箱
+ (BOOL) validateUserEmail : (NSString *) str
{
}
|