zoukankan      html  css  js  c++  java
  • iOS

    - (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;

    }

    - (BOOL)isMobileNumber:(NSString *)mobileNumString

    {

        NSString *pattern = @"^1+[3578]+\d{9}";

        NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];

        BOOL isMatch = [pred evaluateWithObject:mobileNumString];

        return isMatch;

    }

  • 相关阅读:
    java获取服务器的ip和地址
    如何产生好的词向量
    谈谈评价指标中的宏平均和微平均
    在NLP中深度学习模型何时需要树形结构?
    Windows下MetaMap工具安装
    ML 感知机(Perceptrons)
    ML 神经网络 NeuralNetworks
    NLP-特征选择
    ML 逻辑回归 Logistic Regression
    ML 线性回归Linear Regression
  • 原文地址:https://www.cnblogs.com/Cheetah-yang/p/4843744.html
Copyright © 2011-2022 走看看