Если вы хотите получить только число в квадратных скобках, вы можете использовать это:
string1.match(/(?<=\[)[0-9]+(?=\])/g)[0]
Это поможет вам, даже если у вас есть любой другой текст в квадратных скобках, например:
var string1 = "john [abc] ka [12345678]";
Вывод будет: 12345678
Редактировать: Поскольку lookbehind доступен только в браузерах, которые поддерживают ECMA2018, добавление другого решения без использования lookbehind:
var string1 = "john [abc] ka [12345678]";
new RegExp(/(?:\[)([0-9]+)(?=\])/, 'g').exec(string1)[1];