javascript – Pesquisar uma String em um Input forms

Quando você utiliza métodos como document.getElementById, você receberá algum elemento do DOM. No caso de você selecionar um <input />, o elemento retornado implementará a interface HTMLInputElement.

Note que você está tentando acessar o valor do input (o que o usuário digitou) através do método toString. No entanto, veja o que este método realmente retorna:

const field = document.getElementById('my-field');

console.log(field.toString()); // "(object HTMLInputElement)"
<input type="text" id="my-field" value="Foo" />

Portanto, contatamos que o toString não irá retornar o valor digitado pelo usuário, mas sim a representação textual do objeto ao qual está anexado — no caso, HTMLInputElement.

Para acessar o valor do campo, utilize a propriedade value. Assim:

const field = document.getElementById('my-field');

console.log(field.value); // "Foo"
<input type="text" id="my-field" value="Foo" />

A partir disso, você pode utilizar métodos como o String.prototype.includes para verificar se o e-mail digitado é de um domínio específico. O problema mesmo só era o toString, que deveria ser value. Veja:

var form = document.getElementById('formulario');
var campo = document.getElementById('meu-email');

form.addEventListener('submit', function (event) {
    event.preventDefault();
    
    if (campo.value.includes("@gmail.com")) {
        alert('É Gmail!');
    } else {
        alert('Não é!');
    }
});
<form id="formulario">
    <input type="email" id="meu-email" />
    <button type="submit">Enviar</button>
</form>

Note, como detalhe, que utilizei o método Event.preventDefault para prevenir a submissão padrão do formulário — já que estamos utilizando JavaScript para o manipular.