{"id":318,"date":"2025-01-10T17:03:14","date_gmt":"2025-01-10T20:03:14","guid":{"rendered":"https:\/\/eduardovillao.me\/pt-br\/?p=318"},"modified":"2025-12-11T13:59:39","modified_gmt":"2025-12-11T16:59:39","slug":"masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask","status":"publish","type":"post","link":"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/","title":{"rendered":"Masky.js: Uma Alternativa Leve ao Inputmask, Cleave.js e IMask"},"content":{"rendered":"\n<p>Encontrar a biblioteca certa para mascarar inputs pode ser um desafio. Existem muitas op\u00e7\u00f5es dispon\u00edveis, cada uma com seus pr\u00f3s e contras. Algumas s\u00e3o repletas de recursos, mas pesadas; outras s\u00e3o leves, mas carecem de funcionalidades importantes, como valida\u00e7\u00e3o ou otimiza\u00e7\u00f5es para dispositivos m\u00f3veis.<\/p>\n\n\n\n<p>No mundo atual, onde <strong>performance<\/strong> e <strong>experi\u00eancia do usu\u00e1rio<\/strong> s\u00e3o prioridades, escolher a biblioteca certa \u00e9 fundamental. Uma solu\u00e7\u00e3o que minimize o tamanho do bundle e melhore a usabilidade em dispositivos m\u00f3veis, enquanto oferece valida\u00e7\u00f5es robustas, pode fazer uma enorme diferen\u00e7a no seu projeto.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Bibliotecas Populares e Suas Limita\u00e7\u00f5es<\/strong><\/h2>\n\n\n\n<p>Se voc\u00ea j\u00e1 precisou de m\u00e1scaras para formul\u00e1rios, provavelmente encontrou bibliotecas como <strong>Inputmask<\/strong>, <strong>Cleave.js<\/strong> e <strong>IMask<\/strong>.<\/p>\n\n\n\n<p>Embora essas bibliotecas sejam excelentes, elas v\u00eam com algumas desvantagens:<\/p>\n\n\n\n<p><strong>Inputmask<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Poderosa e flex\u00edvel, mas aumenta significativamente o tamanho do bundle (~20 KB gzipado).<\/li>\n\n\n\n<li>N\u00e3o possui recursos como o atributo inputmode para uma melhor experi\u00eancia em dispositivos m\u00f3veis.<\/li>\n<\/ul>\n\n\n\n<p><strong>Cleave.js<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Simples e com suporte a m\u00e1scaras din\u00e2micas.<\/li>\n\n\n\n<li>No entanto, carece de valida\u00e7\u00e3o embutida ou configura\u00e7\u00f5es autom\u00e1ticas como minlength e maxlength.<\/li>\n<\/ul>\n\n\n\n<p><strong>IMask<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Oferece \u00f3timos recursos com um tamanho moderado (~5 KB gzipado).<\/li>\n\n\n\n<li>\u00c9 poderosa, mas pode ser excessiva para casos de uso mais simples.<\/li>\n<\/ul>\n\n\n\n<p>Embora essas ferramentas sejam s\u00f3lidas, senti que havia espa\u00e7o para uma solu\u00e7\u00e3o mais <strong>leve<\/strong>, <strong>flex\u00edvel<\/strong> e focada na <strong>usabilidade em dispositivos m\u00f3veis<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Apresentando Masky.js<\/strong><\/h2>\n\n\n\n<p>Foi por isso que criei o <strong>Masky.js<\/strong>: uma alternativa ultra-leve (apenas <strong>1.3 KB gzipado<\/strong>) que prioriza a performance sem abrir m\u00e3o da flexibilidade e dos recursos essenciais.<\/p>\n\n\n\n<p><strong>Super Leve<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Com apenas <strong>1.3 KB gzipado<\/strong>, \u00e9 uma das solu\u00e7\u00f5es mais compactas do mercado.<\/li>\n\n\n\n<li>Ideal para projetos onde o tamanho do bundle \u00e9 cr\u00edtico.<\/li>\n<\/ul>\n\n\n\n<p><strong>Amig\u00e1vel para Mobile<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Define automaticamente o atributo inputmode com base na m\u00e1scara, garantindo uma melhor experi\u00eancia de digita\u00e7\u00e3o em dispositivos m\u00f3veis.<\/li>\n<\/ul>\n\n\n\n<p><strong>Totalmente Personaliz\u00e1vel<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Suporte a m\u00e1scaras personalizadas com <strong>prefixos<\/strong>, <strong>sufixos<\/strong> e at\u00e9 m\u00e1scaras reversas.<\/li>\n<\/ul>\n\n\n\n<p><strong>Valida\u00e7\u00e3o Embutida<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Suporte nativo para valida\u00e7\u00e3o de <strong>CPF<\/strong> e <strong>CNPJ<\/strong> (documentos brasileiros).<\/li>\n<\/ul>\n\n\n\n<p><strong>Automa\u00e7\u00e3o<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Calcula e aplica automaticamente os atributos minlength e maxlength com base na m\u00e1scara.<\/li>\n<\/ul>\n\n\n\n<p><strong>Sem Depend\u00eancias<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>100% Vanilla JS, f\u00e1cil de integrar com qualquer ambiente ou framework.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Compara\u00e7\u00e3o<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Recurso<\/strong><\/td><td><strong>Masky.js<\/strong><\/td><td><strong>Inputmask<\/strong><\/td><td><strong>Cleave.js<\/strong><\/td><td><strong>IMask<\/strong><\/td><\/tr><tr><td><strong>Tamanho (Gzipado)<\/strong><\/td><td>1.3 KB<\/td><td>20 KB<\/td><td>8 KB<\/td><td>5 KB<\/td><\/tr><tr><td><strong>Depend\u00eancias<\/strong><\/td><td>Nenhuma<\/td><td>Nenhuma<\/td><td>Nenhuma<\/td><td>Nenhuma<\/td><\/tr><tr><td><strong>M\u00e1scaras Personaliz\u00e1veis<\/strong><\/td><td>\u2705<\/td><td>\u2705<\/td><td>\u2705<\/td><td>\u2705<\/td><\/tr><tr><td><strong>Prefixos\/Sufixos<\/strong><\/td><td>\u2705<\/td><td>\u274c<\/td><td>\u2705<\/td><td>\u2705<\/td><\/tr><tr><td><strong>Valida\u00e7\u00e3o de CPF\/CNPJ<\/strong><\/td><td>\u2705<\/td><td>\u274c<\/td><td>\u274c<\/td><td>\u274c<\/td><\/tr><tr><td><strong>inputmode para Mobile<\/strong><\/td><td>\u2705<\/td><td>\u274c<\/td><td>\u274c<\/td><td>\u2705<\/td><\/tr><tr><td><strong>Valida\u00e7\u00e3o de Min\/Max<\/strong><\/td><td>\u2705<\/td><td>\u274c<\/td><td>\u274c<\/td><td>\u274c<\/td><\/tr><tr><td><strong>M\u00e1scaras Reversas<\/strong><\/td><td>\u2705<\/td><td>\u2705<\/td><td>\u274c<\/td><td>\u2705<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Como Usar o Masky.js?<\/strong><\/h2>\n\n\n\n<p>A simplicidade \u00e9 fundamental. Basta adicionar o atributo data-mask, e o Masky.js cuida do resto \u2014 prefixos, sufixos, valida\u00e7\u00f5es e at\u00e9 ajustes autom\u00e1ticos de inputmode e minlength.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!-- Simple Phone Mask --&gt;\n&lt;input type=\"text\" data-mask=\"(00) 00000-0000\" \/&gt;\n\n&lt;!-- Add Prefix and Suffix --&gt;\n&lt;input type=\"text\" data-mask=\"000-000\" data-mask-prefix=\"+55 \" data-mask-suffix=\" ext\" \/&gt;\n\n&lt;!-- Built-in CPF Validation --&gt;\n&lt;input type=\"text\" data-mask=\"000.000.000-00\" data-mask-validation=\"cpf\" \/&gt;\n\n&lt;script src=\"https:\/\/cdn.jsdelivr.net\/npm\/masky-js\/dist\/masky.min.js\"&gt;&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<p>Confira mais detalhes de uso na <a href=\"https:\/\/github.com\/eduardovillao\/masky-js\" target=\"_blank\" rel=\"noreferrer noopener\">documenta\u00e7\u00e3o<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Experimente o Masky.js<\/strong><\/h2>\n\n\n\n<p>Se voc\u00ea est\u00e1 procurando uma solu\u00e7\u00e3o de m\u00e1scaras r\u00e1pida, flex\u00edvel e focada na performance, experimente o <strong>Masky.js<\/strong>!<\/p>\n\n\n\n<p>\ud83d\udc49 <strong>GitHub<\/strong>: <a href=\"https:\/\/github.com\/eduardovillao\/masky-js\" target=\"_blank\" rel=\"noreferrer noopener\">Masky.js<\/a><\/p>\n\n\n\n<p>\ud83d\udc49 <strong>npm<\/strong>: <a href=\"https:\/\/www.npmjs.com\/package\/masky-js\" target=\"_blank\" rel=\"noreferrer noopener\">Masky.js<\/a><\/p>\n\n\n\n<p>Adoraria ouvir seus coment\u00e1rios ou sugest\u00f5es! \ud83d\ude0a<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Encontrar a biblioteca certa para mascarar inputs pode ser um desafio. Existem muitas op\u00e7\u00f5es dispon\u00edveis, cada uma com seus pr\u00f3s e contras. Algumas s\u00e3o repletas de recursos, mas pesadas; outras s\u00e3o leves, mas carecem de funcionalidades importantes, como valida\u00e7\u00e3o ou otimiza\u00e7\u00f5es para dispositivos m\u00f3veis. No mundo atual, onde performance e experi\u00eancia do usu\u00e1rio s\u00e3o prioridades, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":319,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-318","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-quick-tips"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Masky.js: Uma Alternativa Leve ao Inputmask, Cleave.js e IMask | Eduardo Vill\u00e3o<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Masky.js: Uma Alternativa Leve ao Inputmask, Cleave.js e IMask | Eduardo Vill\u00e3o\" \/>\n<meta property=\"og:description\" content=\"Encontrar a biblioteca certa para mascarar inputs pode ser um desafio. Existem muitas op\u00e7\u00f5es dispon\u00edveis, cada uma com seus pr\u00f3s e contras. Algumas s\u00e3o repletas de recursos, mas pesadas; outras s\u00e3o leves, mas carecem de funcionalidades importantes, como valida\u00e7\u00e3o ou otimiza\u00e7\u00f5es para dispositivos m\u00f3veis. No mundo atual, onde performance e experi\u00eancia do usu\u00e1rio s\u00e3o prioridades, [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/\" \/>\n<meta property=\"og:site_name\" content=\"EduardoVill\u00e3o\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-10T20:03:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-11T16:59:39+00:00\" \/>\n<meta name=\"author\" content=\"Eduardo Vill\u00e3o\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Eduardo Vill\u00e3o\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/\"},\"author\":{\"name\":\"Eduardo Vill\u00e3o\",\"@id\":\"https:\/\/eduardovillao.me\/pt-br\/#\/schema\/person\/0b31d7718731423a5690327637f6c192\"},\"headline\":\"Masky.js: Uma Alternativa Leve ao Inputmask, Cleave.js e IMask\",\"datePublished\":\"2025-01-10T20:03:14+00:00\",\"dateModified\":\"2025-12-11T16:59:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/\"},\"wordCount\":520,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/eduardovillao.me\/pt-br\/#\/schema\/person\/0b31d7718731423a5690327637f6c192\"},\"image\":{\"@id\":\"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/eduardovillao.me\/pt-br\/wp-content\/uploads\/sites\/2\/2025\/01\/forms-concept-illustration_114360-30239.avif\",\"articleSection\":[\"Quick Tips\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/\",\"url\":\"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/\",\"name\":\"Masky.js: Uma Alternativa Leve ao Inputmask, Cleave.js e IMask | Eduardo Vill\u00e3o\",\"isPartOf\":{\"@id\":\"https:\/\/eduardovillao.me\/pt-br\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/eduardovillao.me\/pt-br\/wp-content\/uploads\/sites\/2\/2025\/01\/forms-concept-illustration_114360-30239.avif\",\"datePublished\":\"2025-01-10T20:03:14+00:00\",\"dateModified\":\"2025-12-11T16:59:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/#primaryimage\",\"url\":\"https:\/\/eduardovillao.me\/pt-br\/wp-content\/uploads\/sites\/2\/2025\/01\/forms-concept-illustration_114360-30239.avif\",\"contentUrl\":\"https:\/\/eduardovillao.me\/pt-br\/wp-content\/uploads\/sites\/2\/2025\/01\/forms-concept-illustration_114360-30239.avif\",\"width\":626,\"height\":626,\"caption\":\"Masky.js: Uma Alternativa Leve ao Inputmask, Cleave.js e IMask\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/eduardovillao.me\/pt-br\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Masky.js: Uma Alternativa Leve ao Inputmask, Cleave.js e IMask\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/eduardovillao.me\/pt-br\/#website\",\"url\":\"https:\/\/eduardovillao.me\/pt-br\/\",\"name\":\"Eduardo Vill\u00e3o\",\"description\":\"Desenvolvedor WordPress\",\"publisher\":{\"@id\":\"https:\/\/eduardovillao.me\/pt-br\/#\/schema\/person\/0b31d7718731423a5690327637f6c192\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/eduardovillao.me\/pt-br\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/eduardovillao.me\/pt-br\/#\/schema\/person\/0b31d7718731423a5690327637f6c192\",\"name\":\"Eduardo Vill\u00e3o\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/eduardovillao.me\/pt-br\/wp-content\/uploads\/sites\/2\/2023\/02\/T02CTFSCY-U033ZDQVAHY-3ad84321ff5b-512.png\",\"url\":\"https:\/\/eduardovillao.me\/pt-br\/wp-content\/uploads\/sites\/2\/2023\/02\/T02CTFSCY-U033ZDQVAHY-3ad84321ff5b-512.png\",\"contentUrl\":\"https:\/\/eduardovillao.me\/pt-br\/wp-content\/uploads\/sites\/2\/2023\/02\/T02CTFSCY-U033ZDQVAHY-3ad84321ff5b-512.png\",\"width\":512,\"height\":512,\"caption\":\"Eduardo Vill\u00e3o\"},\"logo\":{\"@id\":\"https:\/\/eduardovillao.me\/pt-br\/wp-content\/uploads\/sites\/2\/2023\/02\/T02CTFSCY-U033ZDQVAHY-3ad84321ff5b-512.png\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/eduardo-villo-wordpress-developer\/\",\"https:\/\/www.youtube.com\/channel\/UCPhqulWKsgaFA_Yl2gMe1Lw\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Masky.js: Uma Alternativa Leve ao Inputmask, Cleave.js e IMask | Eduardo Vill\u00e3o","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/","og_locale":"pt_BR","og_type":"article","og_title":"Masky.js: Uma Alternativa Leve ao Inputmask, Cleave.js e IMask | Eduardo Vill\u00e3o","og_description":"Encontrar a biblioteca certa para mascarar inputs pode ser um desafio. Existem muitas op\u00e7\u00f5es dispon\u00edveis, cada uma com seus pr\u00f3s e contras. Algumas s\u00e3o repletas de recursos, mas pesadas; outras s\u00e3o leves, mas carecem de funcionalidades importantes, como valida\u00e7\u00e3o ou otimiza\u00e7\u00f5es para dispositivos m\u00f3veis. No mundo atual, onde performance e experi\u00eancia do usu\u00e1rio s\u00e3o prioridades, [&hellip;]","og_url":"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/","og_site_name":"EduardoVill\u00e3o","article_published_time":"2025-01-10T20:03:14+00:00","article_modified_time":"2025-12-11T16:59:39+00:00","author":"Eduardo Vill\u00e3o","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Eduardo Vill\u00e3o","Est. tempo de leitura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/#article","isPartOf":{"@id":"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/"},"author":{"name":"Eduardo Vill\u00e3o","@id":"https:\/\/eduardovillao.me\/pt-br\/#\/schema\/person\/0b31d7718731423a5690327637f6c192"},"headline":"Masky.js: Uma Alternativa Leve ao Inputmask, Cleave.js e IMask","datePublished":"2025-01-10T20:03:14+00:00","dateModified":"2025-12-11T16:59:39+00:00","mainEntityOfPage":{"@id":"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/"},"wordCount":520,"commentCount":0,"publisher":{"@id":"https:\/\/eduardovillao.me\/pt-br\/#\/schema\/person\/0b31d7718731423a5690327637f6c192"},"image":{"@id":"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/#primaryimage"},"thumbnailUrl":"https:\/\/eduardovillao.me\/pt-br\/wp-content\/uploads\/sites\/2\/2025\/01\/forms-concept-illustration_114360-30239.avif","articleSection":["Quick Tips"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/","url":"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/","name":"Masky.js: Uma Alternativa Leve ao Inputmask, Cleave.js e IMask | Eduardo Vill\u00e3o","isPartOf":{"@id":"https:\/\/eduardovillao.me\/pt-br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/#primaryimage"},"image":{"@id":"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/#primaryimage"},"thumbnailUrl":"https:\/\/eduardovillao.me\/pt-br\/wp-content\/uploads\/sites\/2\/2025\/01\/forms-concept-illustration_114360-30239.avif","datePublished":"2025-01-10T20:03:14+00:00","dateModified":"2025-12-11T16:59:39+00:00","breadcrumb":{"@id":"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/#primaryimage","url":"https:\/\/eduardovillao.me\/pt-br\/wp-content\/uploads\/sites\/2\/2025\/01\/forms-concept-illustration_114360-30239.avif","contentUrl":"https:\/\/eduardovillao.me\/pt-br\/wp-content\/uploads\/sites\/2\/2025\/01\/forms-concept-illustration_114360-30239.avif","width":626,"height":626,"caption":"Masky.js: Uma Alternativa Leve ao Inputmask, Cleave.js e IMask"},{"@type":"BreadcrumbList","@id":"https:\/\/eduardovillao.me\/pt-br\/masky-js-uma-alternativa-leve-ao-inputmask-cleave-js-e-imask\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/eduardovillao.me\/pt-br\/"},{"@type":"ListItem","position":2,"name":"Masky.js: Uma Alternativa Leve ao Inputmask, Cleave.js e IMask"}]},{"@type":"WebSite","@id":"https:\/\/eduardovillao.me\/pt-br\/#website","url":"https:\/\/eduardovillao.me\/pt-br\/","name":"Eduardo Vill\u00e3o","description":"Desenvolvedor WordPress","publisher":{"@id":"https:\/\/eduardovillao.me\/pt-br\/#\/schema\/person\/0b31d7718731423a5690327637f6c192"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/eduardovillao.me\/pt-br\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":["Person","Organization"],"@id":"https:\/\/eduardovillao.me\/pt-br\/#\/schema\/person\/0b31d7718731423a5690327637f6c192","name":"Eduardo Vill\u00e3o","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/eduardovillao.me\/pt-br\/wp-content\/uploads\/sites\/2\/2023\/02\/T02CTFSCY-U033ZDQVAHY-3ad84321ff5b-512.png","url":"https:\/\/eduardovillao.me\/pt-br\/wp-content\/uploads\/sites\/2\/2023\/02\/T02CTFSCY-U033ZDQVAHY-3ad84321ff5b-512.png","contentUrl":"https:\/\/eduardovillao.me\/pt-br\/wp-content\/uploads\/sites\/2\/2023\/02\/T02CTFSCY-U033ZDQVAHY-3ad84321ff5b-512.png","width":512,"height":512,"caption":"Eduardo Vill\u00e3o"},"logo":{"@id":"https:\/\/eduardovillao.me\/pt-br\/wp-content\/uploads\/sites\/2\/2023\/02\/T02CTFSCY-U033ZDQVAHY-3ad84321ff5b-512.png"},"sameAs":["https:\/\/www.linkedin.com\/in\/eduardo-villo-wordpress-developer\/","https:\/\/www.youtube.com\/channel\/UCPhqulWKsgaFA_Yl2gMe1Lw"]}]}},"_links":{"self":[{"href":"https:\/\/eduardovillao.me\/pt-br\/wp-json\/wp\/v2\/posts\/318","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eduardovillao.me\/pt-br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eduardovillao.me\/pt-br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eduardovillao.me\/pt-br\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eduardovillao.me\/pt-br\/wp-json\/wp\/v2\/comments?post=318"}],"version-history":[{"count":2,"href":"https:\/\/eduardovillao.me\/pt-br\/wp-json\/wp\/v2\/posts\/318\/revisions"}],"predecessor-version":[{"id":321,"href":"https:\/\/eduardovillao.me\/pt-br\/wp-json\/wp\/v2\/posts\/318\/revisions\/321"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/eduardovillao.me\/pt-br\/wp-json\/wp\/v2\/media\/319"}],"wp:attachment":[{"href":"https:\/\/eduardovillao.me\/pt-br\/wp-json\/wp\/v2\/media?parent=318"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eduardovillao.me\/pt-br\/wp-json\/wp\/v2\/categories?post=318"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eduardovillao.me\/pt-br\/wp-json\/wp\/v2\/tags?post=318"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}