GithubHelp home page GithubHelp logo

Comments (14)

igorescobar avatar igorescobar commented on July 25, 2024

Usar a mascara "A{4,16}" não resolve?

from jquery-mask-plugin.

pyetrosafe avatar pyetrosafe commented on July 25, 2024

Infelizmente não funciona caro amigo...
Quando coloco "A{4,16}" Ele apenas me deixa escrever "a1" ou "11" (letra e número ou número e número)!!!
Se trata do erro que comentei em um dos exemplos iniciais:

.mask('9{4}S{0,4}');
Não casa com: "1234abcd" como deveria, mas casa com: "12abcde". Não reconheceu "{4}" como expressão regular, mas sim "{" e "}" caractere mascara (?) e "4" como um único numero.

from jquery-mask-plugin.

igorescobar avatar igorescobar commented on July 25, 2024

Vamos por lá... você está tentando fazer muitas coisas que o plugin ainda não suporta. Ele suporta expressões simples de regex e não toda a stack de possibilidades de uma expressão regular.

{4} - Não é suportado.
{0,4} - Não é suportado.

Você tentou se explicar mais acho que é mais fácil você dizer o que você quer como resultado final do que explicar tudo o que você tentou fazer rs.

Você quer que os 4 primeiros digitos sejam numeros e os 12 seguintes sejam letras minusculas, é isso?

from jquery-mask-plugin.

pyetrosafe avatar pyetrosafe commented on July 25, 2024

Hehehehe eu coloquei tanta coisa que verifiquei no plugin que devo dificultado ver minha dificuldade inicial...
Vamos lá ^^

O que eu queria, era realmente ter um campo Alfanumérico de 4 a 20 caracteres.
De primeira eu havia tentado como você propôs "A{4,20}". Blz, isso não funcionou, provavelmente o plugin deve estar esperando apenas 2 números dentro das chaves, ao colocar 3 ele se perde. Também se perde se o primeiro valor for 0 ("{0,n}").

Quer dizer, eu apenas tentei de uma forma, de outra forma, e outra forma, e acabei detectando essas falhas em entender o quantificador regex. Assim como eu tinha comentado:

Ainda nesse ponto do regex, quando o uso do quantificador "{,}" temos o seguinte:

"{n}": não entende como regex mas também não imprime as "chaves" ("{" e "}") como caractere mascara;
"{0,n}": usa da soma de 1 caractere "0" com o valor de "n". Ex: "{0,4}" aceita 5 caracteres;
"{1,n}": aqui, diferente do exemplo anterior funciona corretamente, aceita 1 ou n caracateres;
"{n,}": não entende a regra, ao menos "n" ou mais. Aqui imprime o caractere 2x (independente do valor de n) e não imprime mais nada depois disso;

Porém no terceiro item dessa marcação "{1,n}", esqueci de acrescentar que: se "n" for maior que 9, ou seja, conter 2 algarismos, ele também se perde.

from jquery-mask-plugin.

igorescobar avatar igorescobar commented on July 25, 2024

Ah! Mas A{4,20} deveria funcionar perfeitamente, deve ser um bug, vou investigar isso hoje e já corrijo. Sorry!

from jquery-mask-plugin.

igorescobar avatar igorescobar commented on July 25, 2024

@pyetrosafe vi que era simples de resolver, atualiza para versão v0.11.5 e veja se resolve seu problema. A mascara A{4,20} deve funcionar agora.

from jquery-mask-plugin.

pyetrosafe avatar pyetrosafe commented on July 25, 2024

Hehehehehe Firmeza xD
Eu estava usando de primeira a versão 10.3 eu acho, eu já atualizei aqui pra 11.4 e continuou igual... Esqueci de mencionar isso... 😄

from jquery-mask-plugin.

pyetrosafe avatar pyetrosafe commented on July 25, 2024

Ah ok... vou atualizar ;D

De qualquer forma, da uma olhada nos outros pontos desse tópico ^^
Me responde depois... ;D

Updated

Testado, funcionando perfeitamente:

"A{4,20}"
"S{2,4}9{2,4}"

Menos estes:

"A{0,4}"
"A{4}"

from jquery-mask-plugin.

igorescobar avatar igorescobar commented on July 25, 2024

Não tenho previsão de fazer funcionar estes outros 2 pontos @pyetrosafe. Se os usuários começarem a pedir eu volto a revisar este assunto.

from jquery-mask-plugin.

pyetrosafe avatar pyetrosafe commented on July 25, 2024

Ok... ;)

E estes casos ?

Exibir os caracteres "{}" automaticamente, tem uma maneira específica que não conheço?

Mesmo usando a opção maskChars, nenhuma tentativa ('{': '{', '{': '{', '{': '{', '{': '{') faz o plugin entender "{" como caractere mascará (imprimir o caractere) invés de regex. Para isso foi necessário usar o translation ('b': '{', 'i': '}'), mas dessa forma os caracteres "{" e "}" devem ser digitados e não é colocado automáticamente.

E esses últimos:

Ah outra coisa interessante, seria por a opção de ter o placeholder com true ou false nas opções, com default: false.
Ah, também senti falta da função onBlur, nas options do plugin, tendo que criar um script por fora. Aqui eu usaria pra verificar o valor quando onComplete não fosse chamado.

from jquery-mask-plugin.

igorescobar avatar igorescobar commented on July 25, 2024

@pyetrosafe eu foco na entrega de features, casos de uso, eu não posso sair programando para o plugin sair atendendo todas as possibilidades por mais malucas que elas sejam. Meu objetivo não é fazer com que o usuário possa colocar qualquer coisa que o plugin vai se virar e entender. Aonde tiver utilidade eu vou agir. Se você me disser que existe uma mascara em que estes pontos seriam úteis e que com o que tem o plugin hoje não é possível fazer eu ataco o problema, sacou?

Caso contrário fica difícil ;)

from jquery-mask-plugin.

igorescobar avatar igorescobar commented on July 25, 2024

Se você quiser usar o caracter { e } como caracteres de mascara, você precisa escapa-lo corretamente pois { é um caracter reservado de regex então você precisa fazer desta forma {'{': '{'}. Da mesma forma que foi feito com o parenteses: '(': '(',

from jquery-mask-plugin.

igorescobar avatar igorescobar commented on July 25, 2024

A opção de placeholder já foi sugerida por outro usuário, porém, o html 5 já oferece o atributo placeholder="" que da conta do recado, certo? A sacada do onBlur já está sendo pensada também.

from jquery-mask-plugin.

pyetrosafe avatar pyetrosafe commented on July 25, 2024

Saquei velho...
Bom o caso do placeholder é porque ainda temos usuários com navegadores sem suporte a HTML 5!!! Faria isso então para atingir esses usuários.
Vlw, vou tentar escapar o "{"...
O caso do regex quantificador {4} seria apenas para simplificar {4,4}...
Bom isso...

Parabéns amigo... mt bom o plugin e a sua atenção em visualizar o comentário da galera!!!
Até mais, sucesso!!!

from jquery-mask-plugin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.