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

本文介绍了一个Java函数用于验证车牌号码的正则表达式,包括传统车牌和新能源车牌的规则,并提供了测试用例。车牌验证涉及省份简称、发牌机关代号以及序号的特定格式,同时避免了字母I和O的混淆。
摘要由CSDN通过智能技术生成

正则验证 20180818

直接上代码

// 正则验证车牌,验证通过返回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。

错误的车牌:

Java中进行车牌号正则校验,需要根据车牌号的格式规则来编写正则表达式。对于中国的车牌号包括传统的燃油车车牌新能源车牌,有不同的格式。 传统燃油车车牌号一般格式为:一个汉字(省份简称)+一个字母(发证机关代码)+五位数字或字母的组合。新能源车牌则通常在传统车牌的基础上有特定的标识,比如“D”或“F”分别代表纯电动和非纯电动新能源汽车。 以下是一个简单的示例,用于校验包括新能源车牌在内的车牌号: ```java public class LicensePlateValidator { public static void main(String[] args) { String plateNumber1 = "京A12345"; String plateNumber2 = "粤B新能源D12345"; System.out.println(isValidLicensePlate(plateNumber1)); // 输出:true 或 false System.out.println(isValidLicensePlate(plateNumber2)); // 输出:true 或 false } public static boolean isValidLicensePlate(String plate) { // 正则表达式匹配传统车牌新能源车牌 String regex = "[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{5}|[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[DF]{1}[A-Z0-9]{5}"; return plate.matches(regex); } } ``` 上述代码中的正则表达式解释: - `[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}`:匹配一个汉字省份简称,其中`使领`代表使领馆。 - `[A-Z]{1}`:匹配一个字母发证机关代码。 - `[A-Z0-9]{5}`:匹配五位数字或字母。 - `|`:逻辑“或”操作符,表示匹配左边或右边的表达式。 - `[DF]{1}`:匹配新能源车牌特有的"D"或"F"标识。 - 整个正则表达式被分为两部分,其中`|`左右两边分别对应传统车牌新能源车牌的模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值