对于移动商店应用程序,我需要验证 IMEI number .我知道如何根据输入长度进行验证,但他们是否有任何其他机制来验证输入数字?是否有任何内置功能可以实现这一目标?
来自任何语言的逻辑都被接受和赞赏。
最佳答案
搜索表明没有内置函数来验证 IMEI 号码,但有一种使用 Luhn algorithm 的验证方法.
一般流程:
- 输入 IMEI:
490154203237518
- 去掉最后一位数字,并记住它:
49015420323751
&8
。最后一位数字 8 是验证数字。 - 将 IMEI 中的每个第二位数字加倍:
4 18 0 2 5 8 2 0 3 4 3 14 5 2
(不包括验证数字) - 将此数字分隔成单个数字:
4 1 8 0 2 5 8 2 0 3 4 3 1 4 5 2
(注意18
和14
已拆分)。 - 将所有数字相加:
4+1+8+0+2+5+8+2+0+3+4+3+1+4+5+2
=52
- 记下您得出的数字,并将其四舍五入为最接近的十的倍数:
60
。 - 从四舍五入的数字中减去您的原始数字:
60 - 52
=8
。 - 将结果与您的原始验证数字进行比较。如果这两个数字匹配,则您的 IMEI 有效。
上面第 1 步中给出的 IMEI 是有效的,因为在第 7 步中找到的数字是 8,与验证数字匹配。
关于c - 是否可以验证 IMEI 号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25229648/