Si vous vouliez renvoyer un résultat remplacé, cela fonctionnerait :
var a = 'Test123*** TEST';
var b = a.replace(/[^a-z0-9]/gi,'');
console.log(b);
Cela reviendrait :
Test123TEST
Notez que le gi est nécessaire parce qu'il signifie global (pas seulement sur la première correspondance), et insensible à la casse, ce qui explique pourquoi j'ai a-z au lieu de a-zA-Z. Et le ^ entre les crochets signifie "tout ce qui n'est pas entre ces crochets".
AVERTISSEMENT : Alphanumérique est très bien si c'est exactement ce que vous voulez. Mais si vous l'utilisez sur un marché international, par exemple pour le nom d'une personne ou d'une zone géographique, vous devez tenir compte des caractères unicode, ce qui n'est pas le cas. Par exemple, si vous avez un nom comme "Âlvarö", cela donnera "lvar".