{ s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
Change it to this:{ s nameptr "{f{.}.~}{vv~}{ll}{, jj}" format.name$ 't :=
That extra {.}
tells the built-in BibTeX function format.name$
to replace the default “.␣” that appears between initials within the
abbreviated first name with “.”. And that’s all there is to it!If you’d like to learn how to hack BST files yourself, there’s a nice guide called Tame the BeaST.
Src: http://tex.stackexchange.com/questions/124990/abbreviated-first-names-without-spaces-in-between