车牌号校验正则表达式

Red风信子 2019-06-26

匹配武警车牌

^WJ[京津冀晋蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼川贵云渝藏陕甘青宁新]?[0-9a-zA-Z]{5}$

匹配军牌

/[A-Z]{2}[0-9]{5}$/

1、现在大多数车牌
匹配民用车牌和使馆车牌
判断标准:

  1. 第一位为汉字省份缩写项目
  2. 第二位为大写字母城市编码
  3. 后面是5位仅含字母和数字的组合
^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$

2、新增新能源车牌号,具体编码规则是:

  1. 省份简称(1位汉字)+发牌机关代号(1位字母)+序号(6位)。
  2. 小型新能源汽车号牌的第一位必须使用字母D、F(D代表纯电动新能源汽车,F代表非纯电动新能源汽车),第二位可以使用字母或者数字,后四位必须使用数字。
  3. 大型新能源汽车号牌的前五位必须使用数字,第六位必须使用字母D、F(D代表纯电动新能源汽车,F代表非纯电动新能源汽车)。
  4. 序号中英文字母I和O不能使用。
^([\u4e00-\u9fa5][a-zA-Z](([DF](?![IO])[A-Z0-9][0-9]{4})|([0-9]{5}[DF])))$

因此调整正则表达式为:

new Regex(@"^(([\u4e00-\u9fa5]{1}[A-Z]{1})[-]?|([wW][Jj][\u4e00-\u9fa5]{1}[-]?)|([a-zA-Z]{2}))([A-Za-z0-9]{5}|[DdFf][A-HJ-NP-Za-hj-np-z0-9][0-9]{4}|[0-9]{5}[DdFf])$", RegexOptions.Compiled);

3、新添加农用车辆及拖拉机车牌号验证:
农用车车牌号示例:山东01-54321, 山东A54321
手扶拖拉机:示例:鲁1961378

new Regex(@"^(([\u4e00-\u9fa5][a-zA-Z]|[\u4e00-\u9fa5]{2}\d{2}|[\u4e00-\u9fa5]{2}[a-zA-Z])[-]?|([wW][Jj][\u4e00-\u9fa5]{1}[-]?)|([a-zA-Z]{2}))([A-Za-z0-9]{5}|[DdFf][A-HJ-NP-Za-hj-np-z0-9][0-9]{4}|[0-9]{5}[DdFf])$", RegexOptions.Compiled);

相关推荐