ios 校验

来源:互联网 发布:hex 编辑器 c语言 编辑:程序博客网 时间:2024/05/01 22:20

网上搜的ios校验的方法

pragma mark - 手机号 校验+ (BOOL)isValidateTelPhone:(NSString *)telphoneString;pragma mark - 电话号码,传真+(BOOL)isValidatePhoneAndFax:(NSString *)phoneNumber;pragma mark - email 校验+ (BOOL)isValidateEmail:(NSString *)emailString;pragma mark - 密码大小写英文字母和数字+ (BOOL)isValidatePassword:(NSString *)string;pragma mark - 输入金额,只能是数字和小数点+ (BOOL)isValidateAmount:(NSString *)string;pragma mark - 输入金额,只能是数字和小数点 全是正数+(BOOL)isValidateAmountPositiveNum:(NSString *)string;pragma mark - 必须包含有数字和字母+ (BOOL) isValidateWithStr: (NSString *)string;pragma mark - 只包含数字或字母:可以全是数字,也可以全是字母,还可以混合搭配。+ (BOOL)isValidateNumLetter: (NSString *)string;pragma mark - 全是数字或全是字母+ (BOOL)isOnlyNumOrLetter:(NSString *)string;pragma mark - 银行卡 校验 //2银行卡,  16、18、19 位数字+ (BOOL)isValidateBankCard:(NSString *)string;pragma mark - 身份证识别码 百度百科+(BOOL)checkIdentityCardNo:(NSString*)cardNo;pragma mark - 身份证 校验+ (BOOL) isValidateIdentityCard: (NSString *)identityCard;pragma mark - 军官证 校验+ (BOOL)isValidateOfficer:(NSString *)emailString;pragma mark - 护照 校验+ (BOOL)isValidatePassport:(NSString *)string;pragma mark - 小于19位的数字 虚拟卡卡号校验+ (BOOL)isValidateVCCard:(NSString *)string;pragma mark -/*车牌号验证 MODIFIED BY HELENSONG*/+(BOOL) validateCarNo:(NSString* )carNo;pragma mark -/*用户名正则*/+ (BOOL)validateUserName:(NSString *)userName;pragma mark -/*密码正则*/+ (BOOL)validatePassword:(NSString *)password;
#pragma mark - 手机号 校验+ (BOOL)isValidateTelPhone:(NSString *)telphoneString {    NSString *telRegex = @"(((13[0-9]{1})|(14[579]{1})|(15[0-9]{1})|(17[0-9]{1})|(18[0-9]{1}))+[0-9]{8})";    NSPredicate *regExPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", telRegex];    return [regExPredicate evaluateWithObject:telphoneString];}#pragma mark - 电话号码,传真+(BOOL)isValidatePhoneAndFax:(NSString *)phoneNumber{    NSString *phoneNumberRegex = @"^[+]{0,1}(\\d){1,3}[ ]?([-]?((\\d)|[ ]){1,12})+$";    NSPredicate *regExPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", phoneNumberRegex];    return [regExPredicate evaluateWithObject:phoneNumber] ;}#pragma mark - email 校验+ (BOOL)isValidateEmail:(NSString *)emailString {    NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";    NSPredicate *regExPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];    return [regExPredicate evaluateWithObject:emailString] ;}#pragma mark - 密码大小写英文字母和数字+ (BOOL)isValidatePassword:(NSString *)string{    BOOL isExistDigit = ([string rangeOfCharacterFromSet:[NSCharacterSet decimalDigitCharacterSet]].location != NSNotFound) ? YES : NO;    BOOL isExistLetter = ([string rangeOfCharacterFromSet:[NSCharacterSet letterCharacterSet]].location != NSNotFound) ? YES : NO;    return isExistDigit && isExistLetter;}#pragma mark - 输入金额,只能是数字或小数点+(BOOL)isValidateAmount:(NSString *)string{    NSString *regex = @"^(-)?(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d){1,2})?$";    NSPredicate *regExPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];    return [regExPredicate evaluateWithObject:string] ;}+(BOOL)isValidateAmountPositiveNum:(NSString *)string{    NSString *regex = @"^(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d){1,2})?$";    NSPredicate *regExPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];    return [regExPredicate evaluateWithObject:string];}#pragma mark - 必须包含有数字和字母+ (BOOL) isValidateWithStr: (NSString *)string{    BOOL flag;    if (string.length <= 0) {        flag = NO;        return flag;    }    NSString *regex = @"^(?![^0-9]+$)(?![^a-zA-Z]+$).+$";    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];    return [predicate evaluateWithObject:string];}#pragma mark - 只包含数字或字母:可以全是数字,也可以全是字母,还可以混合搭配。+ (BOOL)isValidateNumLetter: (NSString *)string{    BOOL flag;    if (string.length <= 0) {        flag = NO;        return flag;    }    NSString *regex = @"^[A-Za-z0-9]+$";    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];    return [predicate evaluateWithObject:string];}#pragma mark - 全是数字或全是字母+ (BOOL)isOnlyNumOrLetter:(NSString *)string{    NSString *regex = @"^\\d+|[a-zA-Z]+$";    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];    return [predicate evaluateWithObject:string];}#pragma mark - 银行卡 校验 //2银行卡,  16、18、19 位数字+ (BOOL)isValidateBankCard:(NSString *)string{    NSString *regex = @"^\\d{16}|\\d{18}|\\d{19}$";    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];    return [predicate evaluateWithObject:string];}#pragma mark - 小于19位的数字+ (BOOL)isValidateVCCard:(NSString *)string{    NSString *regex = @"^\\d{1,19}$";    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];    return [predicate evaluateWithObject:string];}#pragma mark - 身份证识别码 百度百科+(BOOL)checkIdentityCardNo:(NSString*)cardNo{    if (cardNo.length != 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) {        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]]) {        return YES;    }    return  NO;}#pragma mark - 身份证 校验+ (BOOL) isValidateIdentityCard: (NSString *)identityCard{    BOOL flag;    if (identityCard.length <= 0) {        flag = NO;        return flag;    }    NSString *regex2 = @"^(\\d{14}|\\d{17})(\\d|[xX])$";    NSPredicate *identityCardPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex2];    return [identityCardPredicate evaluateWithObject:identityCard];}#pragma mark - 军官证 校验+ (BOOL)isValidateOfficer:(NSString *)emailString{    NSString *emailRegex = @"^\\d{8}$";    NSPredicate *regExPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];    return [regExPredicate evaluateWithObject:emailString] ;}#pragma mark - 护照 校验+ (BOOL)isValidatePassport:(NSString *)string{    NSString *regex = @"^(P\\d{7}|G\\d{8}|S\\d{7,8}|D\\d+|1[4,5]\\d{7})$";    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];    return [predicate evaluateWithObject:string];}#pragma mark -/*车牌号验证 MODIFIED BY HELENSONG*/+(BOOL) validateCarNo:(NSString* )carNo{    NSString *carRegex = @"^[A-Za-z]{1}[A-Za-z_0-9]{5}$";    NSPredicate *carTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",carRegex];    NSLog(@"carTest is %@",carTest);    return [carTest evaluateWithObject:carNo];}#pragma mark -/*用户名正则*/+ (BOOL)validateUserName:(NSString *)name{    NSString * nameReges = @"^[a-zA-Z\u4E00-\u9FA5][a-zA-Z0-9_\u4E00-\u9FA5]{5,19}$";    NSPredicate *check = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",nameReges];    NSLog(@"check is %@",check);    return [check evaluateWithObject:name];}#pragma mark -/*密码正则*/+ (BOOL)validatePassword:(NSString *)password{    NSString * psdReges = @"^[A-Za-z0-9,.;':\"!+-/=?>)(<&%^#]{6,20}$";    NSPredicate *check = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",psdReges];    NSLog(@"check is %@",check);    return [check evaluateWithObject:password];}
0 0