vin validation
from http://stackoverflow.com/questions/26407015/javascript-jquery-vin-validator
by ozzymcduff
HTML
<link rel="stylesheet" href="//code.jquery.com/qunit/qunit-2.3.2.css">
<script src="//code.jquery.com/qunit/qunit-2.3.2.js"></script>
<div id="qunit"></div>
<div id="qunit-fixture"></div>
JavaScript
function validate(v) {
return !!v && !!v.match(new RegExp("^[A-HJ-NPR-Z\\d]{8}[\\dX][A-HJ-NPR-Z\\d]{2}\\d{6}$"));
}
var test = QUnit.test;
test("Will validate some random vin numbers", function(assert) {
assert.strictEqual(true, validate("3FA6P0H77DR347165"), 'vin 1');
assert.strictEqual(true, validate("KM8SC13E84U583702"), 'vin 2');
assert.strictEqual(true, validate("1FUW3MCB9VL872634"), 'vin 3');
});
test("Will validate false for some some random invalid vin numbers", function(assert) {
assert.strictEqual(false, validate("3FA6PH77DR347165"), 'vin 1');
assert.strictEqual(false, validate("KM8SC_3E84U583702"), 'vin 2');
assert.strictEqual(false, validate("1FUW.MCB9VL872634"), 'vin 3');
});
test("Will validate false for null or undefined or empty", function(assert) {
assert.strictEqual(false, validate(undefined), 'undefined');
assert.strictEqual(false, validate(null), 'null');
assert.strictEqual(false, validate(""), 'empty');
});