Eu sou novo no jQuery e queria saber como usá-lo para validar endereços de email.
jquery
validation
email
DuH
fonte
fonte
Respostas:
Você pode usar javascript antigo comum para isso:
fonte
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
paravar regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,6})+$/;
apoiar .museum mais recente do TLD como, etcFunção jQuery para validar email
Realmente não gosto de usar plug-ins, especialmente quando meu formulário possui apenas um campo que precisa ser validado. Eu uso essa função e a chamo sempre que preciso validar um campo de formulário de email.
e agora para usar isso
Felicidades!
fonte
emailReg.test($email);
emailReg.text("")
true
. Eu simplesmente a função até a declaração do var emailReg então este:return ( $email.length > 0 && emailReg.test($email))
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
para #var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,6})?$/;
Eu usaria o plug-in de validação jQuery por alguns motivos.
Você validou, ok ótimo, e agora? Você precisa exibir o erro, manipular apagá-lo quando for válido, exibindo quantos erros, no total, talvez? Há muitas coisas que ele pode lidar com você, sem necessidade de reinventar a roda.
Além disso, outro grande benefício é que ele está hospedado em uma CDN; a versão atual no momento desta resposta pode ser encontrada aqui: http://www.asp.net/ajaxLibrary/CDNjQueryValidate16.ashx Isso significa tempos de carregamento mais rápidos para o cliente.
fonte
Veja http: //bassistance.de/jquery-plugins/jquery-plugin-validation/ . É um ótimo plugin jQuery, que permite criar um poderoso sistema de validação de formulários. Existem algumas amostras úteis
aqui. Portanto, a validação do campo de email no formulário ficará assim:Consulte a documentação do método Email para obter detalhes e amostras.
fonte
x@x
(isso é estranho) ele deve[email protected]
Como posso corrigir isso?$.validator.methods.email = function( value, element ) { return this.optional( element ) || //^.+@.+\..+$/.test( value ); }
fonte
: www.htmldrive.net
Fonte: htmldrive.com
fonte
Eu recomendaria o Verimail.js , ele também possui um plug-in JQuery .
Por quê? A Verimail suporta o seguinte:
Além da validação, o Verimail.js também oferece sugestões. Portanto, se você digitar um email com o TLD ou domínio errado e muito semelhante a um domínio de email comum (hotmail.com, gmail.com, etc.), ele poderá detectar isso e sugerir uma correção.
Exemplos:
E assim por diante..
Para usá-lo com o jQuery, inclua verimail.jquery.js no seu site e execute a função abaixo:
O elemento message é um elemento no qual uma mensagem será mostrada. Isso pode ser de "Seu email é inválido" a "Você quis dizer ...?".
Se você possui um formulário e deseja restringi-lo para que ele não possa ser enviado, a menos que o email seja válido, verifique o status usando a função getVerimailStatus, como mostrado abaixo:
Essa função retorna um código de status inteiro de acordo com o objeto Comfirm.AlphaMail.Verimail.Status. Mas a regra geral é que quaisquer códigos abaixo de 0 são códigos indicando erros.
fonte
.getVerimailStatus()
não retorna códigos de status numéricos, apenas um valor de sequência desuccess
,error
ou possivelmentepending
(não verificou o último).isso foi fornecido pelo usuário Luca Filosofi nesta resposta, esta resposta
fonte
@
caractere com outro@
caractere. Assim@@
, caso contrário, você receberá um erro de compilação.Uma solução muito simples é usar a validação html5:
http://jsfiddle.net/du676/56/
fonte
Isso realiza uma validação mais completa, por exemplo, verifica pontos sucessivos no nome de usuário, como john..doe @ example.com
Consulte validar endereço de email usando expressão regular em JavaScript .
fonte
Como já mencionado, você pode usar uma regex para verificar se o endereço de email corresponde a um padrão. Mas você ainda pode receber e-mails que correspondam ao padrão, mas meus emails ainda são rejeitados ou são spam.
verificando com uma regex
verificando com uma API de validação de email real
Você pode usar uma API que verificará se o endereço de email é real e está ativo no momento.
Para mais informações, consulte https://isitarealemail.com ou publicação no blog
fonte
Se você possui um formulário básico, basta digitar o tipo de email:
<input type="email" required>
Isso funcionará para navegadores que usam atributos HTML5 e, em seguida, você nem precisa de JS. Usar a validação de email mesmo com alguns dos scripts acima não fará muito, pois:
[email protected] [email protected] [email protected]
etc ... Todos serão validados como emails "reais". Portanto, seria melhor garantir que o usuário digite seu endereço de e-mail duas vezes para garantir que ele coloque o mesmo. Mas garantir que o endereço de e-mail seja real seria muito difícil, mas muito interessante para ver se havia um endereço de e-mail. caminho. Mas se você está apenas certificando-se de que é um email, atenha-se à entrada HTML5.
EXEMPLO FIDDLE
Isso funciona no FireFox e no Chrome. Pode não funcionar no Internet Explorer ... Mas o Internet Explorer é uma porcaria. Então tem isso ...
fonte
Validação de email Javascript no MVC / ASP.NET
O problema que encontrei ao usar a resposta de Fabian, é implementá-lo em uma exibição MVC por causa do
@
símbolo Razor . Você precisa incluir um@
símbolo adicional para escapar, da seguinte forma:@@
Evitar Navalha no MVC
Eu não o vi em nenhum outro lugar nesta página, então achei que poderia ser útil.
EDITAR
Aqui está um link da Microsoft descrevendo seu uso.
Acabei de testar o código acima e obtive os seguintes js:
O que está fazendo exatamente o que deveria fazer.
fonte
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
O que está acontecendo com seu código?@
símbolo em uma expressão regular em.cshtml
. Normalmente, trataria tudo depois do@
símbolo como código de barbear, mas o duplo@@
impede isso.Use como este:
fonte
fonte
fonte
Chegou aqui ..... acabou aqui: https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address
... que forneceu o seguinte regex:
... que encontrei graças a uma observação no leia-me do plugin jQuery Validation: https://github.com/jzaefferer/jquery-validation/blob/master/README.md#reporting-an-issue
Assim, a versão atualizada do @Fabian 's resposta seria:
espero que ajude
fonte
[email protected]
mas gostaria que isso fosse falso #usa isto
fonte
O bug está no Jquery Validation Validation Plugin Valida apenas com @ para alterar isso
mude o código para este
fonte
Para aqueles que desejam usar uma solução melhor de manutenção do que as correspondências RegEx disruptivas e duradouras, escrevi algumas linhas de código. Para quem deseja salvar bytes, atenha-se à variante RegEx :)
Isso restringe:
De qualquer forma, ainda é possível vazar, por isso, combine isso com uma validação do lado do servidor + verificação de link de email.
Aqui está o JSFiddle
fonte
Você pode usar a validação do jQuery e, em uma única linha HTML, pode validar o email e a mensagem de validação de email:
type="email" required data-msg-email="Enter a valid email account!"
Você pode usar o parâmetro data-msg-email para inserir uma mensagem personalizada ou, caso contrário, não coloque esse parâmetro e a mensagem padrão será exibida: "Digite um endereço de email válido".
Exemplo completo:
fonte
fonte
Referência: SITE JQUERY UI
fonte
você deve ver isso: jquery.validate.js , adicione-o ao seu projeto
usando assim:
fonte
Outra opção simples e completa:
fonte
Você pode criar sua própria função
fonte
Um simplificado que acabei de fazer, faz o que preciso. Limitei a apenas alfanumérico, ponto, sublinhado e @.
Feito com a ajuda de outras pessoas
fonte
Esse regexp evita nomes de domínio duplicados, como [email protected], permitirá apenas o domínio duas vezes, como [email protected]. Também não permite estatísticas de números como [email protected]
Muito bem sucedida !!!!!
fonte
Valide o email enquanto digita, com a manipulação do estado do botão.
fonte
se você estiver usando a validação de jquery
Criei um método
emailCustomFormat
usadoregex
para o meu formato de custódia, você pode alterá-lo para atender às suas necessidadesentão você pode usá-lo assim
este regex aceita
[email protected]
,[email protected]
mas não issoabc@abc
,[email protected]
,[email protected]
Espero que isso ajude você
fonte