正则验证车牌号码,包括新能源车牌

正则验证

直接上代码

// 正则验证车牌,验证通过返回true,不通过返回false
function isLicensePlate(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。

测试说明

之前在网上也找过别人写的正则验证,都有bug,所以自己写了上面的正则验证。不管你是自己写的验证还是网上找的验证,不妨用下面的车牌进行测试,看是否正确。

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

错误的车牌:川A123456、川A2222i、川AA12345、川AD123456。

 

你可能感兴趣的:(前端开发基础)