判断是否是合法的国内车牌号:基于http://baike.baidu.com/view/64583.htm
老版本:
new Regex(@"^(([\u4e00-\u9fa5]{1}[A-Z]{1})[-]?|([wW][Jj][\u4e00-\u9fa5]{1}[-]?)|([a-zA-Z]{2}))[A-Za-z0-9]{5}$", RegexOptions.Compiled);
2016年年底更新:
新增新能源车牌号,具体编码规则是:
1. 省份简称(1位汉字)+发牌机关代号(1位字母)+序号(6位)。
2. 小型新能源汽车号牌的第一位必须使用字母D、F(D代表纯电动新能源汽车,F代表非纯电动新能源汽车),第二位可以使用字母或者数字,后四位必须使用数字。
3. 大型新能源汽车号牌的第六位必须使用字母D、F(D代表纯电动新能源汽车,F代表非纯电动新能源汽车),前五位必须使用数字。
4. 序号中英文字母I和O不能使用。
因此调整正则表达式为:
new Regex(@"^(([\u4e00-\u9fa5]{1}[A-Z]{1})[-]?|([wW][Jj][\u4e00-\u9fa5]{1}[-]?)|([a-zA-Z]{2}))([A-Za-z0-9]{5}|[DdFf][A-HJ-NP-Za-hj-np-z0-9][0-9]{4}|[0-9]{5}[DdFf])$", RegexOptions.Compiled);
2017年更新:
新添加农用车辆及拖拉机车牌号验证:
农用车车牌号示例:山东01-54321, 山东A54321
手扶拖拉机:示例:鲁1961378
new Regex(@"^(([\u4e00-\u9fa5][a-zA-Z]|[\u4e00-\u9fa5]{2}\d{2}|[\u4e00-\u9fa5]{2}[a-zA-Z])[-]?|([wW][Jj][\u4e00-\u9fa5]{1}[-]?)|([a-zA-Z]{2}))([A-Za-z0-9]{5}|[DdFf][A-HJ-NP-Za-hj-np-z0-9][0-9]{4}|[0-9]{5}[DdFf])$", RegexOptions.Compiled);