我需要在Javascript中为印度车辆NUMBER使用正则表达式。
表达式应符合以下模式。
GL / 48 / ED / 1220
MH / 24 / L / 3654
我尝试过以下模式,但没有工作。
str = "MH/14/AA/2000";
var pattern = /[A-Za-z][A-Za-z]/[0-9][0-9]/[A-Za-z ][a-z]/[0-9][0-9][0-9][0-9]$/;
var result = str.match(pattern);
console.log(result);
结果为null。
任何人都有解决方案吗?
答案 0 :(得分:3)
有三个问题
/
/将结束你的正则表达式,所以你需要逃避它们中间的那些
var pattern = /[A-Za-z][A-Za-z]\/[0-9][0-9]\/[A-Za-z ][a-z]\/[0-9][0-9][0-9][0-9]$/;
patt1
即
var result = str.match(pattern);
使用[A-Z]
和i
来忽略区分大小写的匹配,或者只在所有匹配中使用[A-Z]
<强>最后强>
str = "MH/14/AA/2000";
var pattern = /[A-Z][A-Z]\/[0-9][0-9]\/[A-Z][A-Z]\/[0-9][0-9][0-9][0-9]$/i;
var result = str.match(pattern);
console.log(result);
简洁版
str = "MH/14/AA/2000";
var pattern = /[A-Z]{2}\/[0-9]{2}\/[A-Z]{2}\/\d{4}$/i;
var result = str.match(pattern);
console.log(result);
答案 1 :(得分:0)
var pattern = /[A-Za-z][A-Za-z]/[0-9][0-9]/[A-Za-z ][A-Za-z]/[0-9][0-9][0-9][0-9]$/;
表达式的差异是: 斜杠/需要用反斜杠\来转义,第二部分字母错过了大写字母A-Z