JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://igorescobar.github.io/jQuery-Mask-Plugin/js/jquery.mask.min.js"></script>
<b>Máscara para campo já mascarado</b>
<input type="text" class="phone" value="(11) 12345-6789" />
<hr />
<b>Máscara para campo SOMENTE números</b>
<input type="text" class="phone" value="11123456789" />
<hr />
<b>Máscara para tag HTML</b>
<span class="phone">11123456789</span>

JavaScript

var masks = ['(00) 00000-0000', '(00) 0000-00009'],
    maskBehavior = function(val, e, field, options) {
        val = field.val() =='' ? field.html() : field.val();
        return val.length==11 || val.length > 14 ? masks[0] : masks[1];
    };
$('.phone').mask(maskBehavior, {onKeyPress: 
        function(val, e, field, options) {
            field.mask(maskBehavior(val, e, field, options), options);
        }
});