81 lines
1.4 KiB
JavaScript
81 lines
1.4 KiB
JavaScript
var r = new Array(),
|
|
t = new Array();
|
|
(r.A = 1),
|
|
(r.B = 2),
|
|
(r.C = 3),
|
|
(r.D = 4),
|
|
(r.E = 5),
|
|
(r.F = 6),
|
|
(r.G = 7),
|
|
(r.H = 8),
|
|
(r.J = 1),
|
|
(r.K = 2),
|
|
(r.L = 3),
|
|
(r.M = 4),
|
|
(r.N = 5),
|
|
(r.P = 7),
|
|
(r.R = 9),
|
|
(r.S = 2),
|
|
(r.T = 3),
|
|
(r.U = 4),
|
|
(r.V = 5),
|
|
(r.W = 6),
|
|
(r.X = 7),
|
|
(r.Y = 8),
|
|
(r.Z = 9),
|
|
(r[1] = 1),
|
|
(r[2] = 2),
|
|
(r[3] = 3),
|
|
(r[4] = 4),
|
|
(r[5] = 5),
|
|
(r[6] = 6),
|
|
(r[7] = 7),
|
|
(r[8] = 8),
|
|
(r[9] = 9),
|
|
(r[0] = 0),
|
|
(t[1] = 8),
|
|
(t[2] = 7),
|
|
(t[3] = 6),
|
|
(t[4] = 5),
|
|
(t[5] = 4),
|
|
(t[6] = 3),
|
|
(t[7] = 2),
|
|
(t[8] = 10),
|
|
(t[9] = 0),
|
|
(t[10] = 9),
|
|
(t[11] = 8),
|
|
(t[12] = 7),
|
|
(t[13] = 6),
|
|
(t[14] = 5),
|
|
(t[15] = 4),
|
|
(t[16] = 3),
|
|
(t[17] = 2),
|
|
(exports.validateVIN = function (a) {
|
|
var e = !1,
|
|
s = !1;
|
|
if (isNaN(a) && 17 == a.length) {
|
|
var n = 0,
|
|
i = 0,
|
|
u = r,
|
|
f = t;
|
|
try {
|
|
for (var v = 0; v < a.length; v++) {
|
|
if (
|
|
-1 == "ABCDEFGHJKLMNPRSTUVWXYZ1234567890".indexOf(a.substr(v, 1))
|
|
) {
|
|
s = !1;
|
|
break;
|
|
}
|
|
(s = !0), (n += parseInt(u[a.substr(v, 1)]) * parseInt(f[v + 1]));
|
|
}
|
|
s
|
|
? (10 == (i = n % 11) ? "X" : i.toString()) == a.substr(8, 1) &&
|
|
(e = !0)
|
|
: (e = !1);
|
|
} catch (r) {
|
|
e = !1;
|
|
}
|
|
}
|
|
return e;
|
|
});
|