JSFiddle - React, Tailwind, and code Playground

HTML

<input type="text" data-mascara="numeroMonetario" />

JavaScript

$('[data-mascara="numeroMonetario"]').on('paste keyup', function() {
    this.value = this.value.split(/[^\d,]/).filter(Boolean).join('');
    var parts = this.value.split(',').filter(Boolean);
    if (parts.length > 1) this.value = [parts.shift()].concat(parts.join('')).join(',');
});