前几天在黑白网发布了一篇名为:《身份证最后一位算法》的文章,详细的阐述了身份证前17位与最后一位的关系。在文末也附上了工具源码,但奈何编程并不是人人都会。所以思考了一下捣鼓出了在线版本。在线使用function calc(str)
{
var coeff = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1];
var su
前几天在黑白网发布了一篇名为:《身份证最后一位算法》的文章,详细的阐述了身份证前17位与最后一位的关系。
所以思考了一下捣鼓出了在线版本。
在线使用
源码
<scrIPt>function calc(str) { var coeff = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1]; var suffix = ['1','0','x','9','8','7','6','5','4','3','2']; var sum = 0; for(var i=0;i<17;i++) sum += coeff[i] * parseInt(str.charCodeAt(i)-48); sum %= 11; str = str.substr(0,17) + suffix[sum]; return str; } </script> <button onclick="alert(calc(prompt('请输入待计算的身份证号(前17位)')))">立即计算</button>