Remova todos os atributos de um elemento com base em uma lista de permissões

Preciso remover todos os atributos definidos em certos elementos (usando vanilla JS ou jQuery), exceto alguns selecionados manualmente. Digamos que eu tenho uma imagem:

<img hspace="4" border="1" vspace="4" src="someimage.jpg" alt="somealt" />

e eu quero isso como resultado:

<img src="someimage.jpg" alt="somealt" />

A única maneira de pensar é em.removeAttr() cada atributo. Mas o problema é que algumas vezes os elementos têm atributos que não existem na especificação do W3C. Desejo remover todos os outros atributos que não estão na lista de permissões.

Como você faria isso?

questionAnswers(4)

yourAnswerToTheQuestion