Tcheke Adrès Imèl ak JavaScript ak ekspresyon regilye

Yon ti tan de sa mwen mete yon Modpas fòs Checker lè l sèvi avèk JavaScript ak ekspresyon regilye. Sou menm nòt la, ou ka tcheke tou estrikti yon adrès imèl ki itilize menm ekspresyon regilye (regex) metodoloji a.

Si eleman fòm ou an gen id = "emailaddress" epi ou ajoute yon fòm onSubmit = ”retounen tchekeEmail ();", Sa a se yon fonksyon Javascript ke ou ka itilize retounen yon alèt si adrès imèl la gen yon estrikti ki valab oswa ou pa:

function checkEmail() {
var email = document.getElementById('emailaddress');
var filter = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (!filter.test(email.value)) {
alert('Please provide a valid email address');
email.focus;
return false;
}
}

Fonksyon an valide sa ki nan imèl la ak sa ki nan filtre a. Si konparezon an echwe, li Pops leve yon alèt epi retounen konsantre a tounen nan jaden an adrès imel!

41 Kòmantè

  1. 1

    Pou fòm ak adrès imèl miltip, li ta bon pou fè class = "emailaddress". Si ou gen bibliyotèk la prototype.js (http://www.prototypejs.org) enkli nan paj la ou ka fè yon bagay tankou sa a:

    var valab = vre;
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    $$ ('. emailaddress'). chak (fonksyon (email) {
    si (! filter.test (email.value)) {
    alèt (? Tanpri bay yon adrès imèl ki valab?);
    imèl.fokus;
    valab = fo;
    }
    });
    retounen valab;

  2. 5
  3. 7

    Mwen renmen lide a, men mwen ta ezite adopte ekspresyon patikilye regilye sa a san deskripsyon ki adrès imel legal li pa aksepte e ki adrès ilegal li pèmèt.

    Pou yon egzanp yon ekspresyon regilye ki fè yon travay desan ansanm ak yon eksplikasyon sou ki ka li pa kouvri, gade sa a:

    http://www.regular-expressions.info/email.html

    Preferans pèsonèl mwen se yo kouvri pi fò nan ka yo ki senp epi bay yon avètisman pou tout lòt bagay olye ke rejte li. Si Bob reyèlman vle sto soumèt bob@com.museum olye ke bob@museum.com, poukisa nou pa kite l '?

    • 8

      Hi Reg,

      Ou ka teste soti Regex la itilize yon Sou entènèt Regex tèsteur.

      Epitou, gen nan definitivman pi plis ki ka fè si ou vle asire yon adrès imel valab an akò avèk RFC la.

      Gen kèk rezon ki pa pèmèt yon moun antre nan yon adrès imèl envalid:
      1. Yo pral jwenn énervé nan ou lè imèl la yo espere pa jwenn nan - kèlkeswa si wi ou non li te fòt ou te adrès la antre mal.
      2. Si com.museum te yon domèn valab, epi, kite a di, Yahoo! opere li - nenpòt ki adrès imel ki rebondi ta gen yon enpak negatif sou repitasyon konpayi ou a pou livrezon imel. Sa ka mennen nan tout imèl konpayi ou ke yo te bloke.
      3. Si founisè sèvis imèl ou pèmèt ou antre bob@com.museum, ou ta peye tou pou chak imèl voye nan adrès imèl sa a jiskaske yo koupe abònman adrès sa a akòz rebondi. Mwen ta trennen klè nan nenpòt ki ESP ki ta pèmèt yon adrès imel envalid tankou sa - yo ap jis pran lajan ou!

      Mèsi pou kanpe pa!
      Doug

  4. 9
  5. 10

    Genyen yon fason pi senp pou ekri ekspresyon an:
    var regex = /^[a-z0-9\._-]+@([a-z0-9_-]+\.)+[a-z]{2,6}$/i;
    - Avèk modifier final la / mwen pa gen okenn bezwen endike seri a ka anwo.
    - Mwen pa konnen nan nenpòt ki ekstansyon ak nimewo ladan li.
    Sou yon nòt bò, mwen pèmèt TLD ki gen jiska 6 karaktè; nouvo rive regilyèman epi ou pa janm konnen (byen, kèk moun nan lavni ka menm gen nimewo nan li, mwen konnen).

  6. 11

    Hi there,

    Mwen tring yo sèvi ak sa a nan yon fòm ki deja egziste nan tan reyèl, men sa a pa parèt yo dwe validation an tan reyèl tankou korektè fòs modpas ou ...

    Oswa, mwen jis ki clueless, epi li pa travay pou mwen?

  7. 12
  8. 13
  9. 16
  10. 17

    Jis yon ti koreksyon: ekspresyon regilye a gen yon siplemantè () + nan fen an. Li ta dwe li:

    ^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+[a-zA-Z0-9]{2,4}$

    Avèk premye a nenpòt ki longè TLDs ta aksepte (ki se pa intrinsecally mal tankou lòt moun te vize deyò, men si sa ki te entansyon an ekspresyon an ta ka vin pi kout).

  11. 18

    Èske ou ka tanpri eksplike ekspresyon regilye nan kòd sa a ak ki jan li yo ap travay? Epitou sou .test - Èske .test yon deklarasyon default nan JavaScript yo tcheke bagay sa yo tankou ou te fè nan kòd ki anwo a?

  12. 19

    Sa a se yon kòd kout pou imèl ekspresyon-

    fonksyon valide Imèl (id)
    {
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.
    retounen emailPattern.test (id);

    }
    Deepak Rai
    varanasi

  13. 20

    Sa a se yon kòd kout pou imèl ekspresyon-

    fonksyon valide Imèl (id)
    {
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.
    retounen emailPattern.test (id);

    }
    Deepak Rai
    varanasi

  14. 21
  15. 22
  16. 23

    Mèsi, men gen yon erè nan regex sa a. Mwen pa yon ekspè regex, men mwen te eseye imèl:

    tès @ tès

    epi li te pase regex la ... Mwen remake li nan manke chape nan "." kidonk li ta dwe:

    /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/

  17. 24
  18. 27

    Oke, sa a se jis yon chèk ki graj, men se pa 100% egzat, pou egzanp sa a ta dwe oke ak john_doe. @ gmail.com ki aktyèlman pa yon adrès e-mail valab (dot pa pèmèt kòm yon dènye karaktè nan pati lokal nan e-mail).
    Epitou li ta aksepte john…doe@gmail.com ki valab tou depi pa ka gen plis pase yon pwen nan yon sekans.

    Sa yo se jis kèk defo mwen remake nan je a an premye.
    Entansyon mwen an pa bach jis nan pwen sa a soti nan ka yon moun ap planifye yo sèvi ak sa a kòm yon chèk sekirite - pa an sekirite ase.

    Pou enfòmasyon sou adrès e-mail valab tcheke sa a soti: http://en.wikipedia.org/wiki/E-mail_address

  19. 28

    Deepak,

    Aktyèlman, mwen panse ke ou bezwen pou aplike pou yon chape pou dot la ("."). Se konsa, fonksyon ou ta dwe, olye de sa:

    fonksyon valide Imèl (id)
    {
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.
    retounen emailPattern.test (id);

    }

    Sinon, dot la ta vle di "nenpòt karaktè". Mwen kwè ke karaktè espesyal sa yo bezwen chape.

    Senserite,

    Federico

  20. 29

    fonksyon validateEmail (fld) {
    var erè = "";
    var tfld = trim (fld.value); // valè jaden ak espas blan pran pare
    var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/;
    var illegalChars = / [(),;: \ ”[]] /;

    si (fld.value == "Mete adrès imel ou") {

    erè = "Tanpri antre nan adrès imel ou. n";
    } Lòt bagay si (! emailFilter.test (tfld)) {// teste imèl pou karaktè ilegal

    erè = "Tanpri antre yon adrès imèl ki valab. n";
    } Lòt bagay si (fld.value.match (illegalChars)) {

    erè = "Tanpri antre yon adrès imèl ki valab. n";
    }
    retounen erè;
    }

  21. 30

    fonksyon validateEmail (fld) {
    var erè = "";
    var tfld = trim (fld.value); // valè jaden ak espas blan pran pare
    var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/;
    var illegalChars = / [(),;: \ ”[]] /;

    si (fld.value == "Mete adrès imel ou") {

    erè = "Tanpri antre nan adrès imel ou. n";
    } Lòt bagay si (! emailFilter.test (tfld)) {// teste imèl pou karaktè ilegal

    erè = "Tanpri antre yon adrès imèl ki valab. n";
    } Lòt bagay si (fld.value.match (illegalChars)) {

    erè = "Tanpri antre yon adrès imèl ki valab. n";
    }
    retounen erè;
    }

  22. 31

    fonksyon validateEmail (fld) {
    var erè = "";
    var tfld = trim (fld.value); // valè jaden ak espas blan pran pare
    var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/;
    var illegalChars = / [(),;: \ ”[]] /;

    si (fld.value == "Mete adrès imel ou") {

    erè = "Tanpri antre nan adrès imel ou. n";
    } Lòt bagay si (! emailFilter.test (tfld)) {// teste imèl pou karaktè ilegal

    erè = "Tanpri antre yon adrès imèl ki valab. n";
    } Lòt bagay si (fld.value.match (illegalChars)) {

    erè = "Tanpri antre yon adrès imèl ki valab. n";
    }
    retounen erè;
    }

  23. 32

    fonksyon validateEmail (fld) {
    var erè = "";
    var tfld = trim (fld.value); // valè jaden ak espas blan pran pare
    var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/;
    var illegalChars = / [(),;: \ ”[]] /;

    si (fld.value == "Mete adrès imel ou") {

    erè = "Tanpri antre nan adrès imel ou. n";
    } Lòt bagay si (! emailFilter.test (tfld)) {// teste imèl pou karaktè ilegal

    erè = "Tanpri antre yon adrès imèl ki valab. n";
    } Lòt bagay si (fld.value.match (illegalChars)) {

    erè = "Tanpri antre yon adrès imèl ki valab. n";
    }
    retounen erè;
    }

  24. 33
  25. 34
  26. 35
  27. 36
  28. 37
  29. 38
  30. 39
  31. 40

Ki sa ou panse?

Sit sa a sèvi ak Akismet diminye Spam. Aprann kijan kòmantè ou a trete.