84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
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外的大写字母组成,但是不能全是大写字母;最后一句,不能全是大写字母 该怎么写呀
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
最简单的思路是: 先用你的正则把车牌号匹配出来, 然后再用js来筛选 “不能全是大写字母” 这个逻辑。
^[u4e00-u9fa5]{1}[A-Z]{1}·[A-HJ-NP-Zd]{5}$
用正向否定预查
/^[\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”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始
最简单的思路是: 先用你的正则把车牌号匹配出来, 然后再用js来筛选 “不能全是大写字母” 这个逻辑。
^[u4e00-u9fa5]{1}[A-Z]{1}·[A-HJ-NP-Zd]{5}$
用正向否定预查
正向否定预查,在任何不匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如“Windows(?!95|98|NT|2000)”能匹配“Windows3.1”中的“Windows”,但不能匹配“Windows2000”中的“Windows”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始