1、先建立正则表达式
let myreg =’^(京[A-HJ-NPQY]|沪[A-HJ-N]|津[A-HJ-NPQR]|渝[A-DFGHN]|冀[A-HJRST]’ +
‘|晋[A-FHJ-M]|蒙[A-HJKLM]|辽[A-HJ-NP]|吉[A-HJK]|黑[A-HJ-NPR]|苏[A-HJ-N]|’ +
‘浙[A-HJKL]|皖[A-HJ-NP-S]|闽[A-HJK]|赣[A-HJKLMS]|鲁[A-HJ-NP-SUVWY]|豫[A-HJ-NP-SU]’ +
‘|鄂[A-HJ-NP-S]|湘[A-HJ-NSU]|粤[A-HJ-NP-Y]|桂[A-HJ-NPR]|琼[A-F]|川[A-HJ-MQ-Z]|贵[A-HJ]’ +
‘|云[AC-HJ-NP-SV]|藏[A-HJ]|陕[A-HJKV]|甘[A-HJ-NP]|青[A-H]|宁[A-E]|新[A-HJ-NP-S])’ +
‘([0-9A-HJ-NP-Z]{4}[0-9A-HJ-NP-Z挂试]|[0-9]{4}学|[A-D0-9][0-9]{3}警|[DF][0-9A-HJ-NP-Z]’ +
‘[0-9]{4}|[0-9]{5}[DF])
∣
W
J
[
京
沪
津
渝
冀
晋
蒙
辽
吉
黑
苏
浙
皖
闽
赣
鲁
豫
鄂
湘
粤
桂
琼
川
贵
云
藏
陕
甘
青
宁
新
]
?
′
+
′
[
0
−
9
]
4
[
0
−
9
J
B
X
T
H
S
D
]
|^WJ[京沪津渝冀晋蒙辽吉黑苏浙皖闽赣鲁豫鄂湘粤桂琼川贵云藏陕甘青宁新]?' + '[0-9]{4}[0-9JBXTHSD]
∣WJ[京沪津渝冀晋蒙辽吉黑苏浙皖闽赣鲁豫鄂湘粤桂琼川贵云藏陕甘青宁新]?′+′[0−9]4[0−9JBXTHSD]|^(V[A-GKMORTV]|K[A-HJ-NORUZ]|H[A-GLOR]|[BCGJLNS][A-DKMNORVY]|’ + ‘G[JS])[0-9]{5}
∣
[
0
−
9
]
6
使
|^[0-9]{6}使
∣[0−9]6使|^([沪粤川渝辽云桂鄂湘陕藏黑]A|闽D|鲁B|蒙[AEH])[0-9]{4}领
∣
粤
Z
[
0
−
9
A
−
H
J
−
N
P
−
Z
]
[
0
−
9
]
3
[
港
澳
]
|^粤Z[0-9A-HJ-NP-Z][0-9]{3}[港澳]
∣粤Z[0−9A−HJ−NP−Z][0−9]3[港澳]’
2、开始使用
let brand = (rule, value, callback) => {
let myreg =’^(京[A-HJ-NPQY]|沪[A-HJ-N]|津[A-HJ-NPQR]|渝[A-DFGHN]|冀[A-HJRST]’ +
‘|晋[A-FHJ-M]|蒙[A-HJKLM]|辽[A-HJ-NP]|吉[A-HJK]|黑[A-HJ-NPR]|苏[A-HJ-N]|’ +
‘浙[A-HJKL]|皖[A-HJ-NP-S]|闽[A-HJK]|赣[A-HJKLMS]|鲁[A-HJ-NP-SUVWY]|豫[A-HJ-NP-SU]’ +
‘|鄂[A-HJ-NP-S]|湘[A-HJ-NSU]|粤[A-HJ-NP-Y]|桂[A-HJ-NPR]|琼[A-F]|川[A-HJ-MQ-Z]|贵[A-HJ]’ +
‘|云[AC-HJ-NP-SV]|藏[A-HJ]|陕[A-HJKV]|甘[A-HJ-NP]|青[A-H]|宁[A-E]|新[A-HJ-NP-S])’ +
‘([0-9A-HJ-NP-Z]{4}[0-9A-HJ-NP-Z挂试]|[0-9]{4}学|[A-D0-9][0-9]{3}警|[DF][0-9A-HJ-NP-Z]’ +
‘[0-9]{4}|[0-9]{5}[DF])
∣
W
J
[
京
沪
津
渝
冀
晋
蒙
辽
吉
黑
苏
浙
皖
闽
赣
鲁
豫
鄂
湘
粤
桂
琼
川
贵
云
藏
陕
甘
青
宁
新
]
?
′
+
′
[
0
−
9
]
4
[
0
−
9
J
B
X
T
H
S
D
]
|^WJ[京沪津渝冀晋蒙辽吉黑苏浙皖闽赣鲁豫鄂湘粤桂琼川贵云藏陕甘青宁新]?' + '[0-9]{4}[0-9JBXTHSD]
∣WJ[京沪津渝冀晋蒙辽吉黑苏浙皖闽赣鲁豫鄂湘粤桂琼川贵云藏陕甘青宁新]?′+′[0−9]4[0−9JBXTHSD]|^(V[A-GKMORTV]|K[A-HJ-NORUZ]|H[A-GLOR]|[BCGJLNS][A-DKMNORVY]|’ + ‘G[JS])[0-9]{5}
∣
[
0
−
9
]
6
使
|^[0-9]{6}使
∣[0−9]6使|^([沪粤川渝辽云桂鄂湘陕藏黑]A|闽D|鲁B|蒙[AEH])[0-9]{4}领
∣
粤
Z
[
0
−
9
A
−
H
J
−
N
P
−
Z
]
[
0
−
9
]
3
[
港
澳
]
|^粤Z[0-9A-HJ-NP-Z][0-9]{3}[港澳]
∣粤Z[0−9A−HJ−NP−Z][0−9]3[港澳]’
setTimeout(() => {
if (value && !myreg.test(value)) {
callback(new Error(‘请输入有效的车牌号’))
} else {
callback()
}
}, 200)
};
3、引用到input里面
<el-form-item label="车牌号码"
prop="license">
<el-input v-model="formInline.license" @blur="changeCodes('formInline','license',formInline.license)" maxlength="10"></el-input>
</el-form-item>
4、js.data里面使用
license: [
{required: 'true', message: '请输入你的车牌号', trigger: 'blur'},
{pattern: roles.carNumber, message: '请输入正确格式的车牌号', trigger: 'blur'},
{validator: brand, trigger: 'blur'},
],