Last active
May 30, 2020 16:51
-
-
Save kylefelipe/afb17e2536bbb3c48d08bb83b45b7acf to your computer and use it in GitHub Desktop.
Ajudando um colega com o REGEX
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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"); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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"); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@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....