美文网首页IOS开发资料库iOS DeveloperiOS 开发
用正则简单地判断电话号码等是否合法

用正则简单地判断电话号码等是否合法

作者: 静花寒 | 来源:发表于2016-05-11 09:44 被阅读156次

    通过输入框获取字符串后,我们判断电话号码是否合法
    1.对NSString类进行扩展
    2.写入方法,调用方便

    @interface NSString (PhoneOrMail)
    - (BOOL)isPhone;
    - (BOOL)isMail;
    - (BOOL)isOneOfPhoneAndMail;
    @end
    
    @implementation NSString (PhoneOrMail)
    - (BOOL)isPhone{
        //手机号以13, 15,18开头,八个 \d 数字字符
        
    //    NSString *phoneReg = @"^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$";
        //NSString *phoneReg = @"^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$";
        NSString *MOBILE = @"^1(3[0-9]|4[57]|5[0-35-9]|8[0-9]|7[06-8])\\d{8}$";
        return [[NSPredicate predicateWithFormat:@"self matches %@",MOBILE] evaluateWithObject:self];
    }
    
    - (BOOL)isMail{
        NSString *mailReg = @"^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$";
        return [[NSPredicate predicateWithFormat:@"self matches %@",mailReg] evaluateWithObject:self];
    }
    
    - (BOOL)isOneOfPhoneAndMail{
        if ([self rangeOfString:@"@"].location != NSNotFound) {
            return [self isMail];
        }else{
            return [self isPhone];
        }
    }
    @end
    

    相关文章

      网友评论

      • 酷酷的哀殿:判断手机号时,可以把‘空格’和‘-’移除。这样也可以判断`159 0000 0000` 这种格式的手机号。
        静花寒:@酷酷的哀殿 谢谢指点

      本文标题: 用正则简单地判断电话号码等是否合法

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