using es6 you can do it in more simpler way
const str = '[Tom][]'; const count = str.match(/\[(.*?)\]/g) .map(x => x.slice(1, -1)) .map(x => x.length) .join(', '); console.log(count);