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);
}
});