使用方法
- 在「省份简称」下拉选一个省/市(默认 京),决定车牌首字。
- 在「号牌格式」选一种形态:纯数字 5 位、2 字母+3 数字、4 位数字、1 字母+5 数字(新能源)、2 字母+4 数字。
- 在「生成数量」填 1~20(默认 5),点「生成车牌」或数量框裸按 Enter。
- 结果区列出若干形如 京A·73941 的车牌,字母与数字均由随机数产生;点「复制结果」把整批存到剪贴板。
- 点「载入示例」恢复默认(京 / 5 位数字 / 5 个)并重算;对照表区可「加载更多」「导出 CSV」「复制 TSV」。
能解决什么问题
一是给开发测试与演示提供占位车牌。写车牌识别 Demo、表单校验、数据库种子数据、UI 预览时,需要一批「看起来像车牌」的字符串。执照车牌生成器按真实形态随机产出,省去手敲或写假数据。
二是覆盖多种号段形态。老式蓝牌是纯数字,个性化段混字母,新能源是「字母+长数字」。一个工具切换形态,不必为每种格式单独造数据,前端联调更顺。
三是批量且可复制。一次出 20 个、一键复制成多行文本,直接粘进测试脚本或 Excel,比逐个造省事得多。
本页不做这些事:不对接真实车管所号池、不保证号码真实有效、不生成特殊牌照(警、学、军、使馆);它只按形态仿真,仅供占位与测试。
生成原理与变量说明
结构固定为「省份汉字 + 发牌机关字母 + 间隔点 + 号段」。省字来自下拉;机关字母默认从 A~Z(剔除 I、O 以免与 1、0 混淆)随机取一位;号段按所选格式用随机数拼出。
随机数来自一条线性同余发生器(LCG)。页面用 s = (Math.imul(s, 1103515245) + 12345) & 0x7fffffff 作为核心递推(注意是 Math.imul 做 32 位乘法再与,不是普通的 s * 1103515245,后者会溢出成浮点、破坏分布)。每取一个数就把种子推进一次,保证批次内彼此独立。
种子每次点击都换新。生成按钮会用一个随时间变化的种子(当前毫秒与一次随机数的混合)初始化 LCG,所以「重新生成」会得到不同的车牌;若你想复现同一批,只需固定种子即可。
号段字符集避开易混字符。字母只取除 I、O 外的 24 个;数字 0~9 全取。这样既贴近真实制牌规则,也避免测试数据里出现「0/O」「1/I」歧义。
数值只在本地计算。整条链路只有取随机、拼字符串,全部在当前页面执行,没有任何网络请求,也不写 Cookie 或 localStorage。
完整示例(默认输入实测)
示例条件与页面默认值一致:省份「京」、格式「5 位数字」、数量 5。逐项核对:
- 首字固定为「京」,机关字母随机取一位(如 A);
- 号段为 5 个 0~9 随机数字,例如 73941,组合成 京A·73941;
- 共生成 5 个,彼此独立、形态统一为「京A·NNNNN」;
- 由于随机数驱动,每次点「生成车牌」得到的 5 个号码都不同,这正是仿真工具预期行为(示例里写死一个只为说明形态)。
换格式验证:选「2 字母+3 数字」会产出如 京A·XK482 的形态;选「新能源 1 字母+5 数字」会产出 京A·D73941,规律与上方一致,只是号段形态切换。
对照表
- 对照表用途:列出 14 种「省份 + 号段形态」的示例,说明每种格式长什么样,便于你对照生成器输出的形态是否正确。
- 行数:共 14 行,前 12 行直接显示,后 2 行点「加载更多」展开,可导出 CSV 或复制 TSV。
- 形态一致:表里每个示例都用本页同一套「省字 + 机关字母 + 号段」规则,和生成器走同一逻辑,只是这里写的是代表样例。
- 注意:表内号码是示意,不代表真实在用车牌;真实号段受各地车管所分配规则约束,本页不保证可注册。
对照表是「格式速查」而非「你的随机结果」,它与上方生成器是两个独立信息源:生成器给你随机批次,对照表告诉你每种形态长啥样。
结果边界与舍入说明
- 数量必须在 1~20。填 0、负数、字母、超过 20 都会得到具体提示,页面不会静默生成 0 个或爆量。
- 结果为仿真,非真实牌照。本页号码是随机拼出的形态占位,可能与真实在用车牌重复纯属巧合,严禁用于冒充、伪造或任何违法用途。
- 字母不含 I、O。这是为避免与数字 1、0 混淆的刻意处理,符合多数制牌习惯;若你确实需要包含 I/O,请改用自定义数据源。
- 发牌机关字母随机而非按地级市映射。真实里「A 通常是省会、B 是第二大城市」等规则本页未实现,生成的机关字母只是随机一字母,不对应行政区划。
- 新能源格式仅仿真长度。新能源真实规则对首位字母、位数有更细要求,本页只保证「1 字母+5 数字」这类形态,不保证符合全部国标细则。
- 数值只在本地计算。整条链路只有随机与拼接,全部在当前页面执行,没有网络请求,也不写 Cookie 或 localStorage,关掉页面即清空。
常见问题
生成的车牌能真正上牌吗?
不能。本页是形态仿真工具,号码由随机数产生,仅供开发测试、UI 预览与教学占位。真实车牌必须到车管所按法定号池登记,任何私自仿制、使用假牌都属违法。
为什么每次点生成都不一样?
因为种子每次都按当前时间刷新,LCG 从新种子出发得到不同序列。这正是仿真工具想要的行为——批量产出互不相同的占位号码。若需复现同一批,可在代码里固定种子。
字母里为什么没有 I 和 O?
为避免和数字 1、0 混淆,真实制牌通常也不在号段里用 I、O。本页沿用这一习惯,字母集只用其余 24 个字母,让测试数据更干净。
机关字母能对应到具体城市吗?
不能。真实里 A/B/C 往往对应省会、第二大城市等地级市,但本页的机关字母是随机取的,不映射行政区划。如果你要按城市规律造数据,请自建映射表再喂给生成逻辑。
数量上限为什么是 20?
20 个已能满足绝大多数测试与演示批量需求;更大的批量会让结果区冗长、复制也臃肿。若你需要上万条种子数据,建议用脚本循环调用本页的随机逻辑,而不是在页面里一次渲染。
新能源格式合规吗?
仅形态合规。本页的「1 字母+5 数字」等只是长度与排列上模仿新能源号牌,不保证满足全部国标细则(如首位字母含义、地区代码)。用于视觉占位可以,用于合规核对不行。
对照表后两行为什么折叠?
前 12 行直接显示,第 13、14 行默认折叠,点「加载更多(还有 2 行)」即可展开;同时可「导出对照表 CSV」或「复制对照表」拿到全部 14 行 TSV。
结果会被上传或保存吗?
不会。所有随机与拼接只在你当前浏览器里完成,页面不发起任何网络请求,也不写 Cookie 或 localStorage。你在开发者工具的 Network 面板里连点几次「生成车牌」,面板始终是空的。