Expressão regular para slug, permalinks ou URL amigáveis usando plugin MeioMask

Eu uso o plugin MeioMask para gerar máscaras nos meus forms há mais de 2 anos. Gosto deste plugin porquê é muito fácil de aplicar regras para criar novos formatos e usa JQuery. Outra coisa boa é que este plugin é de um brasileiro. Você pode dar uma conferida na documentação em http://www.meiocodigo.com/projects/meiomask

Eu precisei criar uma máscara para um campo do tipo slug que não possui acentos, caracteres especiais e espaços em branco. A ER para isso é /[a-z0-9_-]/

Para adicionar a nova máscara com a regra abra o arquivo jquery.meio.mask.js procure:

rules : {
'z': /[a-z]/,
'Z': /[A-Z]/,
'a': /[a-zA-Z]/,
'*': /[0-9a-zA-Z]/,
'@': /[0-9a-zA-ZçÇáàãâéèêíìóòôõúùü]/,
'x': /[a-z0-9_-]/
}

Um detalhe curioso foi que não se pode criar uma regra com o nome maior que um char que não funciona. Quando adicionei a regra para permitir o uso do hífen “-” vi que tinha uma outra regra limitando o uso deste char no bloco options onde tinha fixedChars : ‘[(),.:/ -]’ como configuração default do plugin. Então na ER onde eu colocava o “-” ele tinha o comportamento de uma máscara fixa.
Para resolver vc tem que adicionar no options fixedChars:null para fazer um overwrite da config padrão.

Veja como ficou a config para usar a máscara.

$('input.slug').setMask({ mask : 'x', type:'repeat' , fixedChars:null});

Caso tenha alguma duvida deixe um comentário que terei prazer em ajudar.
Comentários são bem vindos assim posso melhorar a qualidade dos tutoriais aqui apresentados.

Seguir Marcelo Korjenioski:

Desenvolvedor Web. Formado em Redes de Computadores na Faculdade Santa Cruz em Curitiba PR e Pós-Graduado em Tecnologia Java na UTFPR.