一、正则解释
正则表达式:
/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/
说明:
-
^
表示开头。 -
[
和]
表示字符类。 -
[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领]
匹配省份简称。 -
[A-HJ-NP-Z]
匹配汉字或字母。 -
{4,5}
匹配 4 或 5 个字符。 -
[A-HJ-NP-Z0-9]
匹配字母或数字。 -
[挂学警港澳]
匹配特殊后缀。 -
$
表示结尾。
二、使用场景
此正则表达式可用于以下场景:
- 验证中国大陆的新能源和非新能源车牌号的有效性。
- 从文本中提取车牌号。
- 匹配符合车牌号格式的字符串。
三、代码示例
JavaScript
const regex = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/;
const input = "京A12345D";
const result = regex.test(input);
console.log(result); // true
// 格式化车牌号的函数,可以在车牌号前两位大写字母后添加一个点
export function addDotToPlateNumber(plateNumber) {
// 假设车牌号格式是有效的,这里不进行复杂的验证
// 仅仅为了示例,我们直接截取前两位,然后添加点,最后拼接剩余部分
if (plateNumber.length >= 2) {
// 截取前两位
const firstTwoChars = plateNumber.substr(0, 2)
// 截取剩余部分
const remainingChars = plateNumber.substr(2)
// 拼接字符串,并在前两位后添加点
return `${firstTwoChars}.${remainingChars}`
}
// 如果车牌号长度小于2,则直接返回原车牌号或进行其他处理
return plateNumber
}
// 示例
const plateNumber = "京A12345";
const modifiedPlateNumber = addDotToPlateNumber(plateNumber);
console.log(modifiedPlateNumber); // 输出: 京A.12345
本文参考自:https://www.bytezonex.com/archives/C3SJFy5f.html