n = String(n).replace(/\D/g, "");
Esto lo que hace es buscar cualquier cosa que no sea un número (\D) y quitarlo. Es un regex. En el fondo, lo que hace es borrar todo los caracteres que no sean un numero y asigna a
n los números.
return n === '' ? n : Number(n).toLocaleString();
Comprueba si esta vacía en cuyo caso la devuelve o si no esta vacía devuelve un numero formateado con toLocaleString().
A ti lo que te interesa de ese código es
toLocaleString().
https://developer.mozilla.org/es/docs/Web/javascript/Referencia/Objetos_globales/Number/toLocaleStringEl método toLocaleString() retorna una cadena que contiene una representación del número acorde al idioma.Si lo que te interesa es imprimir moneda, puedes usar:
number.toLocaleString(undefined, { style: 'currency', currency: 'EUR'})
Ten en cuenta que si no defines el
locale (primer parámetro), intenta determinarlo del navegador. Mi navegador por ejemplo esta configurado en ingles entonces me toma el modo de representar números inglés, creo que estadounidense en concreto xD.
Saludos