美文网首页
iOS常用的方法

iOS常用的方法

作者: 攻城 | 来源:发表于2017-05-27 10:15 被阅读5次

    1.验证手机号

    -(BOOL)valiMobile:(NSString *)mobile

    {

    mobile = [mobile stringByReplacingOccurrencesOfString:@"" withString:@""];

    if (mobile.length != 11)

    {

    return NO;

    }else{

    /**

    * 移动号段正则表达式

    */

    NSString *CM_NUM = @"^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\\d{8}|(1705)\\d{7}$";

    /**

    * 联通号段正则表达式

    */

    NSString *CU_NUM = @"^((13[0-2])|(145)|(15[5-6])|(176)|(18[5,6]))\\d{8}|(1709)\\d{7}$";

    /**

    * 电信号段正则表达式

    */

    NSString *CT_NUM = @"^((133)|(153)|(177)|(18[0,1,9]))\\d{8}$";

    NSPredicate *pred1 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM_NUM];

    BOOL isMatch1 = [pred1 evaluateWithObject:mobile];

    NSPredicate *pred2 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU_NUM];

    BOOL isMatch2 = [pred2 evaluateWithObject:mobile];

    NSPredicate *pred3 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT_NUM];

    BOOL isMatch3 = [pred3 evaluateWithObject:mobile];

    if (isMatch1 || isMatch2 || isMatch3) {

    return YES;

    }else{

    return NO;

    }

    }

    }

    2.验证邮箱

    + (BOOL)isAvailableEmail:(NSString *)email {

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

    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];

    return [emailTest evaluateWithObject:email];

    }

    3.验证身份证18位

    intcheckIDfromchar(char*ID );//判断18身份证号

    constintfactor[] = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 };//加权因子

    constintchecktable[] = { 1, 0, 'x', 9, 8, 7, 6, 5, 4, 3, 2 };//校验值对应表

    intcheckIDfromchar(char*ID )

    {

    if(strlen(ID)!=18) {//验证18位

    return0;

    }

    intIDNumber[ 19 ];

    for(inti = 0; i < 18; i ++ )//相当于类型转换

    IDNumber[ i ] = ID[ i ] - 48;

    returncheckID( IDNumber, ID );

    }

    intcheckID(intIDNumber[],charID[] )

    {

    inti = 0;//i为计数

    intchecksum = 0;

    for( ; i < 17; i ++ )

    checksum += IDNumber[ i ] *factor[ i ];

    printf("aaa = %c, bbb = %d\n", ID[17],checktable[ checksum % 11 ]);

    if( IDNumber[ 17 ] ==checktable[ checksum % 11 ] || ( ID[ 17 ] == 'x' &&checktable[ checksum % 11 ] == 'x' )||( ID[ 17 ] == 'X' &&checktable[ checksum % 11 ] == 'x' ))

    return1;

    else

    return0;

    }

    4.验证15位身份证

    - (BOOL)shenfenzheng15{

    if(self&& ![selfisEqualToString:@"0"]) {

    NSString* id15 =@"^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$";

    return[selfisMatchedByRegex:id15];

    }

    returnNO;

    }

    5.验证字符串全是数字

    - (BOOL)isAllNumber

    {

    if(self&& ![selfisEqualToString:@""])

    {

    NSString*regex =@"^[0-9]+$";

    return[selfisMatchedByRegex:regex];

    }

    returnNO;

    }

    相关文章

      网友评论

          本文标题:iOS常用的方法

          本文链接:https://www.haomeiwen.com/subject/evoffxtx.html