印度车辆编号的Javascript正则表达式模式

时间:2018-04-12 06:52:31

标签: javascript

我需要在Javascript中为印度车辆NUMBER使用正则表达式。

表达式应符合以下模式。

  1. GL / 48 / ED / 1220

  2. MH / 24 / L / 3654

  3. 我尝试过以下模式,但没有工作。

     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。

    任何人都有解决方案吗?

2 个答案:

答案 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

相关问题