正则验证 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。

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

20170814

/**

* 第一:普通汽车

* 车牌号格式:汉字 + A-Z + 5 位 A-Z 或 0-9(车牌号不存在字母 I 和 O 防止和 1、0 混淆)

* (只包括了普通车牌号,教练车,警等车牌号 。部分部队车,新能源不包括在内)

1. 常规车牌号:仅允许以汉字开头,后面可录入六个字符,由大写英文字母和阿拉伯数字组成。如:粤 B12345;

2. 武警车牌:允许前两位为大写英文字母,后面可录入七个字符,由大写英文字母和阿拉伯数字组成,其中第三位可录汉字也可录大写英文字母及阿拉伯数字,如:WJ01 警 0081、WJ0112345。

3. 最后一个为汉字的车牌:允许以汉字开头,后面可录入六个字符,前五位字符,由大写英文字母和阿拉伯数字组成,而最后一个字符为汉字,汉字包括 “挂”、“学”、“警”、“军”、“港”、“澳”。如:粤 Z1234 港。

4. 新军车牌:以两位为大写英文字母开头,后面以 5 位阿拉伯数字组成。如:BA12345。

5. 黑龙江车牌存在 08 或 38 开头的情况

* 京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼军空海北沈兰济南广成使领

* 普通汽车规则:"[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领 A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9 挂学警港澳]{1}"

*

*  第二:新能源车

* 组成:省份简称(1 位汉字)+ 发牌机关代号(1 位字母)+ 序号(6 位),总计 8 个字符,序号不能出现字母 I 和字母 O

* 通用规则:不区分大小写,第一位:省份简称(1 位汉字),第二位:发牌机关代号(1 位字母)

* 序号位:

* 小型车,第一位:只能用字母 D 或字母 F,第二位:字母或者数字,后四位:必须使用数字

* ---([DF][A-HJ-NP-Z0-9][0-9]{4})

* 大型车,前五位:必须使用数字,第六位:只能用字母 D 或字母 F。

* ----([0-9]{5}[DF])

* 新能源车规则:"[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领 A-Z]{1}[A-Z]{1}(([0-9]{5}[DF])|([DF][A-HJ-NP-Z0-9][0-9]{4}))"

*

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

*/

// 代码中引用此方法即可

public static boolean isCarnumberNO(String carnumber) {

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

if (TextUtils.isEmpty(carnumber)) return false;

else return carnumber.matches(carnumRegex);

}

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

  1. Java车牌号校验正则表达式

    最近接到需求需要写一个车牌号校验的正则表达式,由于校验比较严格,包含新能源车牌还有领事馆之类的规则,网上的正则都不是很详细,于是自己写了一个. 正则表达式: String pattern = &quo ...

  2. js验证身份证号码包括最后一位字母

    通过正则进行js验证身份证号码: var numRegex = /^([a-zA-Z\d_]{1,18})$/;if (!numRegex.test(val)) {return '请输入身份证号码或格 ...

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

    正则验证 20180818 直接上代码 // 正则验证车牌,验证通过返回true,不通过返回false function isLicensePlate(str) { return /^(([京津沪渝冀 ...

  4. java 车牌号验证正则表达式_车牌号校验正则表达式

    标签: 一.车牌号校验规则 1.常规车牌号:仅允许以汉字开头,后面可录入六个字符,由大写英文字母和阿拉伯数字组成.如:粤B12345: 2.武警车牌:允许前两位为大写英文字母,后面可录入五个或六个字符 ...

  5. java 车牌号验证正则表达式_使用正则表达式验证手机号、车牌号

    1.javascript验证手机号 function checkPhone(){ var sPhone = document.getElementById("id").value ...

  6. java 车牌号正则_js 正则表达式 判断车牌号

    1.常规车牌号:仅允许以汉字开头,后面可录入六个字符,由大写英文字母和阿拉伯数字组成.如:粤B12345: 2.武警车牌:允许前两位为大写英文字母,后面可录入七个字符,由大写英文字母和阿拉伯数字组成, ...

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

    正则验证 直接上代码 // 正则验证车牌,验证通过返回true,不通过返回false function isLicensePlate(str) {return /^(([京津沪渝冀豫云辽黑湘皖鲁新苏浙 ...

  8. java 车牌号加减密_[Java教程]车牌号校验规则

    [Java教程]车牌号校验规则 0 2018-10-19 16:00:59 一.车牌验证规则 1.传统车牌 第1位为省份简称(汉字),第二位为发牌机关代号(A-Z的字母)第3到第7位为序号(由字母或数 ...

  9. 正则验证车牌号码(包括新能源车牌)

    前言: 正则校验车牌号码 校验规则: 1.传统车牌 第1位为省份简称(汉字),第二位为发牌机关代号(A-Z的字母)第3到第7位为序号(由字母或数字组成,但不存在字母I和O,防止和数字1.0混淆,另外最 ...

  10. 基于python车牌号识别_如何用Python提取和识别车牌号?

    下面是一个关于如何解决你的问题的粗略想法.你可以在此基础上再接再厉.您需要从图像中提取车牌号,然后将图像发送到您的tesseract.阅读代码注释以了解我正在尝试做什么.在import numpy a ...

最新文章

  1. 第3周实践项目3 求集合并集
  2. 比特币与企业级区块链的区别
  3. php启动提示缺失v9,phpcms程序v9提示“您要查看的信息不存在”怎么解决
  4. Windows Mobile打包时增加快捷方式到开始菜单的方法
  5. MySQL中rename一个view对应的SQL语句
  6. 作者:杨慰民(1970-),男,博士,中国移动通信集团福建有限公司网管中心副总经理...
  7. Python-OpenCV快速教程
  8. Spring 框架基础(01):核心组件总结,基础环境搭建
  9. Android 自定义ViewPager设置屏蔽左右滑动事件
  10. Linux 在不重启的情况下识别新挂载的磁盘
  11. python实现简单计算器_Python实现的简单计算器功能详解
  12. python pip安装
  13. paip.mysql 批量kill 连接.
  14. cruise软件模型,混动仿真模型,IMMD架构混联混动仿真模型
  15. c语言数组的程序,C语言数组程序举例
  16. 如何编写大数据分析师简历
  17. Playmaker节点工具使用(三)—扩展playmaker
  18. iphone出现android文件夹,为什么iPhone仍限制每个文件夹页面9个应用程序? | MOS86...
  19. windows系统安全加固
  20. 云服务平台—恒源智享云

热门文章

  1. .NET Reflector + ILSpy 反编译过程
  2. 基于java的图书管理系统(英文)
  3. 迅雷X 10.0.2.60 去广告版绿色精简版
  4. 【数学建模】数学建模学习4---动态规划(例题+matlab代码实现)
  5. javaweb项目通过F5负载,获取客户端真实ip
  6. Swift开发笔记-Mac OS X 天气预报应用开发(Xcode7.2)
  7. 终极算法:机器学习和人工智能如何重塑世界
  8. 【C#】通过Devcon.exe控制设备管理器中设备的启停
  9. python源码深度剖析_Python源码剖析-深度探索动态语言核心技术 PDF 下载
  10. Go语言实战的知识图谱