Isso tem a ver com o evento que você está usando: oninput
Toda vez que você digitar alguma coisa no campo ele vai chamar sua funçao de validaçao.
Recomendo duas opçoes para esse tipo de validaçao:
Se quiser usar oninput, onde o feedback acontece a cada tecla digitada, use uma validaçao nao intrusiva, por exemplo, coloque bordas vermelhas no campo se tiver errado e bordas verdes quando tiver certo. Assim o usuário sabe que está correto assim que terminar.
Se quiser usar alerts ( nao é uma boa idéia hoje em dia, pense em smart phones), espere até o momento que você tenha certeza que o usuário terminou de digitar, por exemplo, quando ele clica um botao pra fazer submit do formulário. Pelo menos nesse momento você tem certeza que, do ponto de vista do usuário, ele já preencheu todos dados de forma correta