正则验证 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. 正则验证车牌号码,包括新能源车牌

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

  2. JS邮箱验证_手机号码验证_电话号码验证-正则验证

    一.正则表达式 //对电子邮件的验证:^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$ //对 ...

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

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

  4. jQuery Validate表单中文正则验证+手机号正则验证

    话不多说先上图 <!DOCTYPE html> <html> <head><meta charset="utf-8"><tit ...

  5. 移动端车牌识别:新能源车牌识别上线

    新能源车牌诞生背景: "2016年4月18日,为更好区分辨识新能源汽车,实施差异化交通管理,我国将启用新能源汽车专用号牌.交管局设计了新能源车牌式样,向社会公开征求意见建议,即日起公众可参与 ...

  6. 移动端扫描车牌识别,新能源车牌OCR识别已研发

    移动端扫描车牌自动识别技术的技术核心:移动端车牌识别,手机端车牌识别,手持端车牌识别,Android端车牌识别,ios车牌识别,统统都是以OCR识别技术为基础,车牌定位凹凸字体处理二值化字符切割一系列 ...

  7. vue 实现简单的车牌键盘 包括新能源 移动端 电脑端都可以用哦!(使用了elementui) 复制下来直接可以用v-model接收到输入的值

    创建新的vue文件 粘贴进去,随即在项目中进行引入,直接使用 v-model 进行接收即可 1. 首先是输入框部分这里面用到的所有变量及方法都会讲到 <div class="car-b ...

  8. java正则表达式 密码强度_密码验证,密码强度正则表达式

    当用户登录网站时,一般要求用户提供登录该网站的用户名称和密码.从某种意义上说,密码的复杂程度越高,用户的信息安全性越高.因此,很多网站在注册用户信息或修改用户密码时,往往会提供一个密码强度的说明,从而 ...

  9. java电话号码开头_JS使用正则验证手机号包含400和800开头号码

    正则表达式,又称正规表示法.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符 ...

最新文章

  1. ThinkPHP入门(二)
  2. Echange配置企业邮件收发策略
  3. adb shell am 命令启动activity、Service、Borascast
  4. Linux内核spin_lock与spin_lock_irq分析
  5. java 数组排序面试题_Java面试宝典_基础编程练习题_数组排序插值(一)
  6. Python编程基础08:循环结构
  7. 注册表把html设置成桌面,[注册表] 将Windows 10默认应用程序设置页面添加到桌面右键菜单中...
  8. cxf整合spring发布webservices服务端
  9. MATLAB 简单神经网络案例
  10. TransCAD的选择集应用简介
  11. SWMM的改进版本,HS-SWMM的安装教程
  12. xp显示连接上不了网络连接服务器地址,xp本地连接受限制|windows xp系统本地连接提示受限制或无连接怎么办...
  13. 信号与系统奥本海姆_魏小石 “奥本海姆、电子信息系统与20世纪民间传统音乐”讲座预告...
  14. 针式PKM,不是简单的“文档管理器”
  15. 用python实现分段函数_python:集成分段函数
  16. Java获取当天0时0分0秒时间的方法
  17. java dozer_java – Dozer双向映射(String,String)与自定义转换器不可能?
  18. 2023届【校招】安全面试题和岗位总结(字节、百度、腾讯、美团等大厂)
  19. 计蒜客-1891-砍树(二分)
  20. 掌财社:新手学习嵌入式用什么语言编程?

热门文章

  1. C#编写Modbus协议加速度传感器上位机
  2. Boosting 族 ——AdaBoost全解
  3. 动态规划DP——01背包问题
  4. iTunes的下载windows
  5. LVS负载均衡之DR模式
  6. SAP ABAP OPEN SQL实例
  7. 【推荐】智慧电力智能化巡检在线监控信息化平台系统建设推荐解决方案合集(共60份,363M)
  8. 【AI in 美团】如何基于深度学习实现图像的智能审核?
  9. 小米路由器pro(R3P)TTL救砖资料整理
  10. k线图及单个k线图形态分析