/**
* 验证用户名
* 由字母、数字、_、-组成,不能以符号开始和结束
* 6~14
*/
* (BOOL)checkInputUserName:(NSString *)text
{
NSString *regular = @"^[a-zA-Z\\d][\\w-]{4,12}[0-9a-zA-Z]$";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regular];
return [predicate evaluateWithObject:text];
}
/**
* 验证密码
* 由字母、数字、_、-、~、!、@、#、$、%、^、&、*、+、,、.、?组成
* 6~16
*/
* (BOOL)checkInputPassword:(NSString *)text
{
NSString *regular = @"^[\\w!@#$%^&*+?,.~\\-]{6,16}$";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regular];
return [predicate evaluateWithObject:text];
}
/**
* 只能输入汉字
*/
* (BOOL)checkInputChinese:(NSString *)text
{
NSString *regular = @"^[\u4e00-\u9fa5]*$";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regular];
return [predicate evaluateWithObject:text];
}
/**
* 只能输入字母
*/
* (BOOL)checkInputLetter:(NSString *)text
{
NSString *regular = @"^[a-zA-Z]*$";
return [self check:regular text:text];
}
/**
* 只能输入数字
*/
* (BOOL)checkInputNumber:(NSString *)text
{
NSString *regular = @"^[0-9]*$";
return [self check:regular text:text];
}
* (BOOL)checkInputPhoneNumber:(NSString *)text
{
NSString *YDRegular = @"^1((3[4-9]|5[0-27-9]|47|8[23478]|78)\\d{8}|705\\d{7})$";
NSString *LTRegular = @"^1((3[0-2]|45|5[56]|8[56]|76)[0-9]|709)\\d{7}$";
NSString *DXRegular = @"^1((33|53|8[019]|77)[0-9]|700)\\d{7}$";
return [self check:YDRegular text:text] || [self check:LTRegular text:text] || [self check:DXRegular text:text];
}
/**
* 身份证
*/
+ (BOOL)checkInputIdCard:(NSString *)text
{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyyMMdd HH:mm:ss"];
NSString *time = [formatter stringFromDate:[NSDate date]];
time = [time substringToIndex:8];
NSString *newText = [text substringWithRange:NSMakeRange(6, 8)];
if ([newText integerValue] > [time integerValue]) {
return NO;
}
if (text.length != 18) {
return NO;
}
BOOL isIdCard;
NSString *regular = @"^[1-9]\\d{5}(19[0-9]{2}|201[0-6])(0[1-9]|1[0-2])([0|1|2]\\d|(3[0-1]))(\\d{4}|\\d{3}[Xx])$";
if ([self check:regular text:text] && text.length == 18) {
NSArray *idCardWi = @[@"7",@"9",@"10",@"5",@"8",@"4",@"2",@"1",@"6",@"3",@"7",@"9",@"10",@"5",@"8",@"4",@"2"];
NSArray *idCardY = @[@"1",@"0",@"10",@"9",@"8",@"7",@"6",@"5",@"4",@"3",@"2"];
NSInteger num = 0;
for (NSInteger index = 0; index < text.length - 1; index++) {
num += [[text substringWithRange:NSMakeRange(index, 1)] integerValue] * [idCardWi[index] integerValue];
}
num = num % 11;
if ([[text substringFromIndex:text.length - 1] isEqualToString:idCardY[num]]) {
isIdCard = YES;
}else{
isIdCard = NO;
}
}else{
isIdCard = NO;
}
return isIdCard;
}
* (BOOL)checkInputLandLine:(NSString *)text
{
NSString *regular = @"^0\\d{2}(\\-\\d|\\d\\-)\\d{7}$";
return [self check:regular text:text];
}
* (BOOL)checkInputEmail:(NSString *)text
{
NSString *regular = @"^[a-z0-9][a-z0-9_]{2,14}[a-z0-9]@[a-z0-9]+\\.(com|cn)$";
return [self check:regular text:text];
}
+ (BOOL)check:(NSString *)regular text:(NSString *)text
{
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regular];
return [predicate evaluateWithObject:text];
}