我必须验证这种格式的车辆编号
XY-01-AA-1234
如果不存在AA,则字符串中不应出现后续的超量信息 我试过这个:
'[A-Z] {2} - [0-9] {2} - [A-Z - ] {0,2} [0-9] {1,4}'
check_vehicle_no(reg_no,'[A-Z]{2}-[0-9]{2}-[A-Z-]{0,2}[0-9]{1,4}');
function check_vehicle_no(str,expp){
return str.match(expp);
}
但它接受此格式XY-01--1234
的车辆编号。
即,车辆号码的可接受格式为XY-01-1234
或XY-01-A-1234
或XY-01-AA-1234
。
答案 0 :(得分:2)
你应该使用这个正则表达式:
/^[A-Z]{2}-[0-9]{2}-(?:[A-Z]{1,2}-)?[0-9]{1,4}$/
(?:[A-Z]{1,2}-)?
模式使用1或2个大写字母后跟连字符可选。
在你的功能中使用它:
function check_vehicle_no(str, expp) {
return str.match(expp);
}
然后将其称为:
var re = /^[A-Z]{2}-[0-9]{2}-(?:[A-Z]{1,2}-)?[0-9]{1,4}$/;
check_vehicle_no(reg_no, re);
注意使用/.../
代替'...'
代表正则表达式文字字符串。
PS:如果您只想验证输入,最好拨打regex.test
。
答案 1 :(得分:0)
根据您的条件,
[A-Z]{2}-[0-9]{2}-([A-Z-]{0,2}.-)?[0-9]{1,4}
这可以用来检查车辆编号