Skip to content

Instantly share code, notes, and snippets.

@kylefelipe
Last active May 30, 2020 16:51
Show Gist options
  • Save kylefelipe/afb17e2536bbb3c48d08bb83b45b7acf to your computer and use it in GitHub Desktop.
Save kylefelipe/afb17e2536bbb3c48d08bb83b45b7acf to your computer and use it in GitHub Desktop.
Ajudando um colega com o REGEX
const pattern = /^([0-9]{0,2})\/([0-9]{2})\/([0-9]{4})$/;
const dataInicio = document.getElementById('data-inicio');
dataInicio.addEventListener("keypress", function(e){
if (e.keyCode === 13){
validaData();
}
});
function validaData(){
if (dataInicio.value.match(pattern) === null){
alert("Formato de data não válido! Digite: DD/MM/AAAA");
}
}
let pattern = /ˆ([0-9]{1,2})\/([0-9]{1,2})\/([0-9]{4})$/;
// o meta {} significa a quantidade de repetições quando usamos o 0 como primeiro parametro, e um número depois
// significa que queremos até m repetições.... se iniciar de outra forma ele comporta diferente
// o correto é usar [0-9]{0,2} pq queremos que tenha até 2 repetições do padrão.
// o padrão correto vai ficar /^([0-9]{0,2})\/([0-9]{2})\/([0-9]{4})$/
dataInicio.addEventListener("keypress", function(e){
if ( e.keyCode === 13){
validaData();
}
});
function validaData(){
if ((pattern.test(dataInicio.value) == false)){
//aqui vc inverteu as coisas, a string precisa combinar com o padrão - dataInicio.value
// o .test() deu problema em todos os testes que fiz, o melhor a usar foi o .match(), e essa função retorna false|true
// Pq colocou dois parentesis no if?? não é necessário
// então a condição do if vai ficar assim
// if (dataInicio.value.match(pattern) === false) {........
// ou vc pode usar assim tbm
// if (!dataInicio.value.match(pattern)) {........
alert("Formato de data não válido! Digite: DD/MM/AAAA");
}
}
@kylefelipe
Copy link
Author

@preto115 aqui estão as colaborações com o código que pediu...

@elisangeloalves
Copy link

fala Kyle ai vc deu uma aula pra nois ai de regex uai... fala serio meu, manja muito do negocio... por acaso tem algum canal no youtube sobre o tema, tipo ensinando a montar regex com exemplo pratico do dia a dia de programaçao? se tiver passa pra turma ai que vamo acompanhar, nos inscrever e dar like em tudo......valeu brigadao, pela forca, na verdade eu peguei o codigo na net e tentei adaptar, o contato que tive mais proximo com regex foi quando eu comecei tentar resolver os problemas do hackrank... mas ai como tava tudo muito avancado de mais pra mim eu desisti de tentar ......mas valeu mesmo.

@kylefelipe
Copy link
Author

@preto115 Então, eu tenho um canal sim é o #ThinkFreeGeo no youtube.
Tem a thread da @carlanakajuni no slack do curso tbm, onde tem um link para o site do Arélio Jargas, que é uma ótima fonte sobre... super indico o livro dele se quiser aprender... é bem indicado para quem está iniciando no assunto....

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment