赵健的个人博客

Menu

javascript车牌号校验正则表达式

这是在公司项目中遇到的一个issues,需要验证汉字开头的繁体省市,自行百度后,看到一篇非常详尽的车牌号验证正则表达式,一来自己用过后转载分享下,二来自己记录下加深记忆!

一、车牌号校验规则

1.常规车牌号:仅允许以汉字开头,后面可录入六个字符,由大写英文字母和阿拉伯数字组成。如:粤B12345;
2.最后一个为汉字的车牌:允许以汉字开头,后面可录入六个字符,前五位字符,由大写英文字母和阿拉伯数字组成,而最后一个字符为汉字,汉字包括“挂”、“学”、“警”、“港”、“澳”。如:粤Z1234港。
3.新军车牌:以两位为大写英文字母开头,后面以5位阿拉伯数字组成。如:BA12345。

二、正则表达式

^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$

三、使用示例

Javascript:


function isVehicleNumber(vehicleNumber) {
 var result = false;
 if (vehicleNumber.length == 7){
 var express = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;
 result = express.test(vehicleNumber);
 }
 return result;
 }

这边就是我参考的别人写的,我自行修改后的代码,我这边用的angular

ng-pattern='/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领a-zA-Z]{1}[a-zA-Z]{1}[a-zA-Z0-9]{4}[a-zA-Z0-9挂学警港澳]{1}$/'

 

其中我增加了a-z以便于用户在输入车牌号时不要考虑开启大写模式,任意输入英文就可以,我这边用样式控制仅显示为大写字母
/*显示为大写字母*/
.uppercase {

text-transform: uppercase;

}

再请求接口的时候把车牌号字段给转换为大写即可,这样无论用户输入的小写还是大写我都能验证通过并且存入数据也是大写的!

this.$scope.carCode.toUpperCase()
这样的验证后即时用户输入了繁体的汉字开头也不会验证通过了,只能输入我定义的正则表达式内的汉字,正好符合了业务需求!解决问题!
这边给出我转载的原文链接:http://www.cnblogs.com/jacktang/p/5609931.html
打赏作者↓↓↓
— 编辑于 共写了1382个字
— 文内使用到的标签:
— 阅读数:993
— 暂无评论

Leave a Reply

Your email address will not be published. Required fields are marked *