iOS 各种正则表达式

来源:互联网 发布:百度云网络连接失败 编辑:程序博客网 时间:2024/06/07 19:51
- (BOOL)isQQ; //qq
- (BOOL)isPhoneNumber; // 电话
- (BOOL)isIPAddress; //IP地址
- (BOOL)isIdcard; // 身份证
- (BOOL)isChinese ; //中文
- (BOOL)isEnglishChinese;//中文或英文
- (BOOL)iSNumber; //是数字

- (BOOL)iSNumber_English;

- (BOOL)match:(NSString *)pattern
{
    // 1.创建正则表达式
    NSRegularExpression *regex = [[NSRegularExpression alloc] initWithPattern:pattern options:0 error:nil];
    // 2.测试字符串
    NSArray *results = [regex matchesInString:self options:0 range:NSMakeRange(0, self.length)];
    
    return results.count > 0;
}


- (BOOL)isQQ
{
    // 1.不能以0开头
    // 2.全部是数字
    // 3.5-11位
    return [self match:@"^[1-9]\\d{4,10}$"];
}


- (BOOL)isPhoneNumber
{
    // 1.全部是数字
    // 2.11位
    // 3.以13\15\18\17开头
    return [self match:@"^1[3578]\\d{9}$"];
    // JavaScript的正则表达式:\^1[3578]\\d{9}$\
    
}


- (BOOL)isIPAddress
{
    // 1-3个数字: 0-255
    // 1-3个数字.1-3个数字.1-3个数字.1-3个数字
    return [self match:@"^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$"];
}
- (BOOL)isIdcard{
    return [self match:@"^(\\d{14}|\\d{17})(\\d|[xX])$"];
}
-(BOOL)isChinese{
    return [self match:@"(^[\u4e00-\u9fa5]+$)"];
}
- (BOOL)isEnglishChinese{
    return [self match:@"\\[[0-9a-zA-Z\\u4e00-\\u9fa5]+\\]"];
}
-(BOOL)iSNumber{
    return [self match:@"[0-9]+$"];


}
-(BOOL)iSNumber_English{
    return [self match:@"[a-zA-Z0-9]+$"];
}

0 0
原创粉丝点击