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

#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 = @"101707383@qq.com";
    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;
}
相关文章
相关标签/搜索