正则限制 账号 密码 邮箱 身份证 手机号的相关代码

#import <Foundation/Foundation.h>

int main() {
    // ? == {0,1}
    // * == {0,无穷}
    // + == {1,无穷}
    // \d == [0-9]
    // \w == [A-Za-z_0-9]
    // * 的意思是可有可无
    // [a|b|c]+   表示三个至少出现一次或多次
    //检测电话号码是否正确
    NSString *tel = @"";
    //正则表达式
    NSString *regex = @"^\\d*$";
//    NSString *regex = @"^[0-9]{3,4}-[0-9]{7,8}$";
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",regex];//创建需要满足上面的正则表达式的谓词
    NSLog(@"该电话号码:%d",[predicate evaluateWithObject:tel]);
    
    
    //用户名 (第一位必须是字母,6-16位,只能有字母,数字或下划线)
    NSString *user = @"m54355";
    NSString *regex1 = @"^[A-Za-z]\\w{5,15}$";
    NSPredicate *predicate1 = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",regex1];
//    NSLog(@"该电话号码:%d",[predicate1 evaluateWithObject:user]);
//   //身份证
//    NSString *user1 = @"610125199301300814";
//    NSString *regex2 = @"^\\d{17}[\\dxX]$";
//    NSPredicate *predicate2 = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",regex2];
//    NSLog(@"该身份证:%d",[predicate2 evaluateWithObject:user1]);
    //邮箱
    NSString *mailbox = @"[email protected]";
    NSString *regex3 = @"^[a-zA-Z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}$";
    NSPredicate *predicate3 = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",regex3];
//    NSLog(@"该邮箱:%d",[predicate3 evaluateWithObject:mailbox]);
    //手机号
//    NSString *phone = @"18709259205";
//    NSString *regex4 = @"^1[3|4|5|7|8]\\d{9}$";
//    NSPredicate *predicate4 = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",regex4];
//    NSLog(@"该手机:%d",[predicate4 evaluateWithObject:phone]);
    if ([predicate1 evaluateWithObject:user] == 1) {
        if ([predicate3 evaluateWithObject:mailbox] == 1) {
            NSLog(@"登录成功");
        }
    }else{
            NSLog(@"错误");
    }
    return 0;
}


你可能感兴趣的:(正则限制 账号 密码 邮箱 身份证 手机号的相关代码)