如何在正则表达式JavaScript中获取子字符串的长度

时间:2013-08-07 11:54:13

标签: javascript regex

这是我的正则表达式

/^[a-zA-Z0-9-]{40}([a-zA-Z0-9-]{3}2[a-zA-Z0-9-]{12}){2,10}$/

将有一个条件:前40个字符后的每个字符串的长度必须为16个字符。这16个字符的字符串将不重复,最少2次,最多10次。所以我想得到这个子串的长度应该是16。

这是输入字符串:

string input="PR212D4EB2-6B25-4020-BD2A-941F69C0AA4102GEX2421262506027GEX2437345435522"

我希望匹配“GEX2421262506027”和“GEX2437345435522”的长度。像这样,最多会有10个字符串。我想验证这个长度是否应该是16个字符。

2 个答案:

答案 0 :(得分:1)

试试这个

  var pattern = /^[a-zA-Z0-9-]{40}([a-zA-Z0-9-]{3}2[a-zA-Z0-9-]{12}){2,10}$/;            
  var exp = text.match(pattern);
  if (exp) {
   alert(exp[0].length);
  }

答案 1 :(得分:0)

如果您只想要最后16个字符:

var string = 'PR212D4EB2-6B25-4020-BD2A-941F69C0AA4102GEX2421262506027GEX2437345435522';
var matching = string.match(/^[a-zA-Z0-9-]{40}([a-zA-Z0-9-]{3}2[a-zA-Z0-9-]{12}){2,10}$/);
console.log(matching[1]);
console.log(matching[1].length);