最近新用到了一个正则:关于替换大量注释
/\*.*\*/
#pragma mark 验证手机号
- (BOOL)validateMobile:(NSString *)numPhone//验证是否是手机号
{
NSString *MOBILE = @"^1[34578]\\d{9}$";
NSPredicate *regexTestMobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",MOBILE];
return [regexTestMobile evaluateWithObject:numPhone];
}
#pragma mark 验证邮箱
- (BOOL)validateEmail:(NSString *)email//验证是否是邮箱
{
NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
return [emailTest evaluateWithObject:email];
}
#pragma mark - 身份证识别
@interface ViewController ()
{
NSString *_card_id;
}
_card_id = @"430422xxxx0816xxxx";
-(BOOL)checkIdentityCardNo:(NSString*)cardNo
{
if (cardNo.length != 18) {
NSLog(@"身份证号码必须为18位~");
return NO;
}
NSArray* codeArray = [NSArray arrayWithObjects:@"7",@"9",@"10",@"5",@"8",@"4",@"2",@"1",@"6",@"3",@"7",@"9",@"10",@"5",@"8",@"4",@"2", nil];
NSDictionary* checkCodeDic = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"1",@"0",@"X",@"9",@"8",@"7",@"6",@"5",@"4",@"3",@"2", nil] forKeys:[NSArray arrayWithObjects:@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10", nil]];
NSScanner* scan = [NSScanner scannerWithString:[cardNo substringToIndex:17]];
int val;
BOOL isNum = [scan scanInt:&val] && [scan isAtEnd];
if (!isNum) {
NSLog(@"必须输入纯数字~");
return NO;
}
int sumValue = 0;
for (int i =0; i<17; i++) {
sumValue+=[[cardNo substringWithRange:NSMakeRange(i , 1) ] intValue]* [[codeArray objectAtIndex:i] intValue];
}
NSString* strlast = [checkCodeDic objectForKey:[NSString stringWithFormat:@"%d",sumValue%11]];
if ([strlast isEqualToString: [[cardNo substringWithRange:NSMakeRange(17, 1)]uppercaseString]]) {
NSLog(@"验证通过~");
return YES;
}
return NO;
}