Eliminar todos los atributos de un elemento basado en una lista blanca

Necesito eliminar todos los atributos establecidos en ciertos elementos (usando vanilla JS o jQuery), excepto algunos seleccionados manualmente. Digamos que tengo una imagen:

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

y quiero esto como resultado:

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

La única forma en que puedo pensar es en.removeAttr() cada atributo Pero el problema es que algunas veces los elementos tienen atributos que no existen en la especificación W3C. Quiero eliminar todos los demás atributos que no están en la lista blanca.

¿Cómo harías esto?

Respuestas a la pregunta(4)

Su respuesta a la pregunta