You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写Python代码校验美国刚铎州新车牌格式合法性

刚铎(Gondor)州新车牌格式校验实现

校验规则说明

刚铎州新车牌固定格式为GD-YYYY-xx-xx,具体校验要求:

  • 开头固定为字符GD,后接半角短横线
  • 第一分段为4位任意阿拉伯数字(范围0000-9999),后接半角短横线
  • 后续两个分段各为2位英文字母,所有字母不得为O、I,分段间用半角短横线分隔

Python实现代码

用正则匹配是最简洁高效的实现方式,以下代码默认兼容小写字母输入(自动转大写校验):

import re

def validate_gondor_license_plate(plate_str: str) -> bool:
    # 去除输入首尾空白,统一转为大写,兼容小写输入、误输前后空格的场景
    processed_plate = plate_str.strip().upper()
    # 正则规则:严格匹配完整车牌格式,排除字母O、I
    match_pattern = r'^GD-\d{4}-[A-HJ-NP-Z]{2}-[A-HJ-NP-Z]{2}$'
    return bool(re.fullmatch(match_pattern, processed_plate))

测试示例

# 合法用例 返回True
print(validate_gondor_license_plate("GD-1234-AB-CD"))  # 标准格式合法车牌
print(validate_gondor_license_plate("gd-0000-xy-zw"))  # 小写输入自动兼容
print(validate_gondor_license_plate("GD-9999-ZY-XW"))  # 最大数字段合法车牌

# 非法用例 返回False
print(validate_gondor_license_plate("GD-123-OI-AB"))  # 含禁用字母O、I
print(validate_gondor_license_plate("GD-12345-AB-CD")) # 数字段长度不是4位
print(validate_gondor_license_plate("GE-1234-AB-CD"))  # 前缀不是固定GD
print(validate_gondor_license_plate("GD-1234-A1-CD"))  # 字母段混入数字

如果业务要求必须输入大写字母,只需要去掉.upper()处理逻辑,即可强制要求输入严格匹配大写规则。

内容的提问来源于stack exchange,提问作者Fafa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 10:54:17