身份证尾号计算器

中国二代身份证号的最后一位是校验码,根据前 17 位计算而得。

完整身份证号:

$(function($) {
    var coefficients = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
    var calc = function(s) {
        var sum = 0;
        for (var i = 0; i < 17; ++i)
            sum += coefficients[i] * s[i]; // JavaScript is weakly typed
        return '10X98765432'[sum % 11];
    };
    $('#idinput').on('change keyup', function() {
        var input = $('#idinput').val();
        var result = '';
        if (/^\d{17}$/.test(input))
            result = input + calc(input);
        $('#idfull').text(result);
    }).change();
});