IMEI,手机号,身份证号格式有效性校验

IMEI,手机号,身份证号格式有效性校验

IMEI格式有效性校验

imei一般由15位数字组成,有些厂家会在最后加上两位数字表示版本号。imei的校验主要通过模10算法,基于前14位的数字校验第15位的数值。

class IsValidIMEI: AbstractScalar(), (String) -> Boolean {
   

    //一般的imei基本都是15位,有些17位的,后两位是版本号
    private val regex : Regex = Regex("\\d{15}|\\d{17}")
    
    override operator fun invoke(imei: String): Boolean {
   
        if (imei.isEmpty()){
   
            return false
        }

        return regex.matches(imei) && luhnAlgorithm(imei)
    }

    private fun luhnAlgorithm(imei: String): Boolean{
   
        var sum1 = 0
        var sum2 = 0
        var index = 0
        while (index < 14){
   
            val num = imei
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值