首页 > 车牌正则求教?

车牌正则求教?

let rule1=/^[\u4e00-\u9fa5]{1}[A-Z]{1}[A-H_J-N_P-Z_0-9]{5}$/;

如代码是我写的,但是还不完善,要求是:
省简称XYYYYY,其中X为A~Z字母中的一个,YYYYY由数字0~9和除I、O外的大写字母组成,但是不能全是大写字母;
最后一句,不能全是大写字母 该怎么写呀


用正向否定预查
/^[\u4e00-\u9fa5][A-Z](?![A-HJ-NP-Z]{5})[A-HJ-NP-Z\d]{5}$/

正向否定预查,在任何不匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如“Windows(?!95|98|NT|2000)”能匹配“Windows3.1”中的“Windows”,但不能匹配“Windows2000”中的“Windows”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始


^[u4e00-u9fa5]{1}[A-Z]{1}·[A-HJ-NP-Zd]{5}$


最简单的思路是: 先用你的正则把车牌号匹配出来, 然后再用js来筛选 “不能全是大写字母” 这个逻辑。

【热门文章】
【热门文章】