imei一般由15位數字組成,有些廠家會在最後加上兩位數字表示版本號。imei的校驗主要通過模10演算法,基於前14位的數字校驗第15位的數值。
class isvalidimei:
abstractscalar()
,(string)
-> boolean |\\d"
)override
operator
funinvoke
(imei: string)
: boolean
return regex.
matches
(imei)
&&luhnalgorithm
(imei)
}private
funluhnalgorithm
(imei: string)
: boolean
else
index ++
}var last =
(sum1 + sum2)%10
if(last !=0)
return last == imei[14]
.tostring()
.toint()
}}
手機號如果不算字首的國家碼,一般由11位數字組成。主要校驗的就是前三位運營商號碼,這個號碼資源可以去工信部**查,時不時會更新
private
val regex : regex =
regex
("^((1[3,8][0-9])|(14[5,7,9])|(15[0-3,5-9])|(17[0,3,5-8])|166|192|198|199)\\d$"
)
身份證的格式,網上也有很多了,國內大陸地區都是18位,對最後一位採用模11-2演算法校驗。
class isvalididentitycard:
abstractscalar()
,(string)
-> boolean (18|19|20)\\d((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d[0-9xx]$"
)private
val regex15 : regex =
regex
("^[1-9]\\d\\d((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d$"
)private
val idcardwi =
listof(7
,9,10
,5,8
,4,2
,1,6
,3,7
,9,10
,5,8
,4,2
)private
val idcardy =
listof
("1"
,"0"
,"x"
,"9"
,"8"
,"7"
,"6"
,"5"
,"4"
,"3"
,"2"
)override
operator
funinvoke
(id: string)
: boolean
return
when
}private
funlastnumberisvalid
(id: string)
: boolean
val lastid = chararray[17]
.tostring()
val mode = sum %
11return
if(idcardy[mode]
.equals
(lastid,
true))
else.")
false}}
}
手機號 身份證格式校驗
呼叫方法傳入引數 手機號 格式正確返回true,錯誤返回false 並且彈出提示框。phone function e 15 0 9 18 0 9 17 0 9 d if e return false else if e.length 11 return false else if myreg.tes...
身份證號驗證
原文 身份證號驗證 public static boolean isidnumber string idnumber 定義判別使用者身份證號的正規表示式 15位或者18位,最後一位可以為字母 string regularexpression 1 9 d 18 19 20 d 0 1 9 10 11 ...
身份證號驗證
身份證號組成 17位數字 1位校驗碼 位址碼 前六位 出生日期碼 第七位至第十位 順序碼 第十五位至十七位 對同年同月同日生的人便定的順序號,順序號奇數為男生,偶數為女生 檢驗碼 第十八位 0 9 x var acity function iscarid sid d x i.test sid ret...