手机号、身份证、信用卡号检测-swift版

1. 验证是否是手机号码格式
var validFormatMobile: Bool {
        let regex = "^[1][0-9]{10}$"
        let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
        return predicate.evaluateWithObject(self) 
}
2. 验证是否是电子邮箱格式
 var validFormatEmail: Bool {
        let regex = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"
        let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
        return predicate.evaluateWithObject(self) 
}
3. 验证是否是身份证号格式
var validIdCard: Bool {
        let regex = "^(\\d{15}$|^\\d{18}$|^\\d{17}(\\d|X|x))$"
        let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
        return predicate.evaluateWithObject(self)
    }

4. 验证是否是信用卡号格式(VISA卡,万事达卡,Discover卡,美国运通卡)
var validCreditCard: Bool {
        let regex = "((?:4\\d{3})|(?:5[1-5]\\d{2})|(?:6011)|(?:3[68]\\d{2})|(?:30[012345]\\d))[ -]?(\\d{4})[ -]?(\\d{4})[ -]?(\\d{4}|3[4,7]\\d{13})$"
        let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
        return predicate.evaluateWithObject(self)
    }


5.  验证是否是银行卡号格式
var validBank: Bool {
        let regex = "^(\\d{16}|\\d{19})$"
        let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
        return predicate.evaluateWithObject(self)
    }


6. 验证是否是一定范围的数字格式
 var validLimitNumber: Bool {
        let regex = "^\\d{16,19}$"
        let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
        return predicate.evaluateWithObject(self)
    }



7.  验证密码格式(密码应为6-32位数字/字母和常规符号组合)
var validPassword: Bool {
        let regex = "^[A-Za-z0-9\\^\\$\\.\\+\\*_@!#%&~=-]{6,32}$"
        let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
        return predicate.evaluateWithObject(self)
    }



你可能感兴趣的:(手机号、身份证、信用卡号检测-swift版)