<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Mask</title> <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.16/jquery.mask.min.js"></script> </head> <body> <input type="text" id="placa"> <script> $(document).ready(function () { maskMercosul('#placa'); }); function maskMercosul(selector) { var MercoSulMaskBehavior = function (val) { var myMask = 'AAA0A00'; var mercosul = /([A-Za-z]{3}[0-9]{1}[A-Za-z]{1})/; var normal = /([A-Za-z]{3}[0-9]{2})/; var replaced = val.replace(/[^\w]/g, ''); if (normal.exec(replaced)) { myMask = 'AAA-0000'; } else if (mercosul.exec(replaced)) { myMask = 'AAA0A00'; } return myMask; }, mercoSulOptions = { onKeyPress: function(val, e, field, options) { field.mask(MercoSulMaskBehavior.apply({}, arguments), options); } }; $(function() { $(selector).bind('paste', function(e) { $(this).unmask(); }); $(selector).bind('input', function(e) { $(selector).mask(MercoSulMaskBehavior, mercoSulOptions); }); }); } </script> </body> </html>