车牌号码校验 

正则校验代码

function checkLicensePlate(str) {
    return /^(([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z](([0-9]{5}[DF])|([DF]([A-HJ-NP-Z0-9])[0-9]{4})))|([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳使领]))$/.test(str);
}

车牌验证规则

1、传统车牌

第1位为省份简称(汉字),第二位为发牌机关代号(A-Z的字母)第3到第7位为序号(由字母或数字组成,但不存在字母I和O,防止和数字1、0混淆,另外最后一位可能是“挂学警港澳使领”中的一个汉字)。

2、新能源车牌

第1位和第2位与传统车牌一致,第3到第8位为序号(比传统车牌多一位)。新能源车牌的序号规则如下:

小型车:第1位只能是字母D或F,第2为可以是数字或字母,第3到6位必须是数字。

大型车:第1位到第5位必须是数字,第6位只能是字母D或F。

测试

正确的车牌:豫A123AB、豫A2222学、豫AF12345、豫A12345D

错误的车牌:豫A123456、豫A2222i、豫AA12345、豫AD123456

2022年更新

因北京、上海已陆续出现 京AA沪AA沪AG

纯电动车型:共包含字母A、B、C、E,但是优先启用D,待到D号段耗竭方可逐步启用A、B、C、E;

非纯电动车型:共包含字母F、G、H、J、K,但是优先启用F,待到F号段耗竭方可逐步启用G、H、J、K。

所以正则新增 A、B、C、E 和 G、H、J、K 兼容

reg = /^(([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z](([0-9]{5}[DF])|([DABCEFGHJK]([A-HJ-NP-Z0-9])[0-9]{4})))
|([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳使领]))$/