zoukankan      html  css  js  c++  java
  • 验证姓名(长度为2~16、可有分隔符•、必须为汉字)、邮箱、有效身份证

    - (BOOL)nameIScorrect:(NSString*)name

    {

        if (name.length > 16 || name.length < 2) {//长度2-16

            return NO;

        }

        for (int j = 0; j < name.length; j ++) {

            UniChar chr = [name characterAtIndex:j];

           if(chr < 0x4e00 || chr > 0x9fa5)//unicode中文编码范围是0x4e00~0x9fa5  也有用u4e00~u9fff

           {

              // if (chr != 0x2022) {//不为分格符 •  不同键盘值不一样

              //     return NO;

              // }

               if (![[name substringWithRange:NSMakeRange(j, 1)] isEqualToString:@"•"] && ![[name substringWithRange:NSMakeRange(j, 1)]        isEqualToString:@"·"]) {

                    return NO;

                }

           }

        }

        returnYES;

    }

    - (BOOL)identityIScorrect:(NSString*)birthday

    {

        int sum = 0;

        int weith[17] = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};

        for (int i = 0; i < birthday.length - 1; i++) {

            NSString *itemString = [birthday substringWithRange:NSMakeRange(i,1)];

            sum += weith[i]*[itemString integerValue];

        }

        int num = sum%11;

        char checkCard[11] = {'1', '0','X', '9', '8', '7', '6', '5', '4', '3', '2'};

        char lastChar = [birthday characterAtIndex:birthday.length - 1];

        if (num == 2 && lastChar == 'x') {

            

            return YES;

        }

        if (checkCard[num] == lastChar) {

            return YES;

        }

        

        returnNO;

    }

    #pragma mark 验证邮箱

    - (BOOL)isValidateEmail:(NSString *)email {

        NSString *strRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{1,5}";

        NSPredicate *predicate = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", strRegex];

        

        return [predicate evaluateWithObject:email];

    }

  • 相关阅读:
    RabbitMQ In JAVA 介绍及使用
    利用消息队列处理分布式事务
    SpringBoot入门篇--关于properties和yml两种配置文件的一些事情
    消息队列
    多线程-- ThreadLocal
    简单ORACLE分区表、分区索引
    OR 连接查询注意
    二分查找算法(JAVA)
    逻辑回归与决策树在分类上的一些区别
    从一个R语言案例学线性回归
  • 原文地址:https://www.cnblogs.com/swallow37/p/3060859.html
Copyright © 2011-2022 走看看