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 ki gen plizyè adrès imel, li ta bon pou fè klas="emailaddress". Si ou gen bibliyotèk prototype.js (http://www.prototypejs.org) enkli sou paj la ou ka fè yon bagay tankou sa a:

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

  2. 5
  3. 7

    Mwen renmen lide a, men mwen ta ezite adopte ekspresyon regilye patikilye sa a san yo pa deskripsyon ki adrès imel legal li pa aksepte ak 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 kouvri pifò ka senp yo epi bay yon avètisman pou tout lòt bagay olye ke rejte li. Si Bob reyèlman vle soumèt bob@com.museum olye ke bob@museum.com, poukisa pa kite l '?

    • 8

      Bonjou Reg,

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

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

      Gen kèk rezon ki fè yo pa pèmèt yon moun antre yon adrès imel ki pa valab:
      1. Yo pral fache sou ou lè imel yo te espere a pa rive nan – kèlkeswa si se te fòt ou oswa ou pa adrès la te antre mal.
      2. Si com.museum te yon domèn valab epi, ann di, Yahoo! te opere li - nenpòt adrès imel ki rebondi ta gen yon enpak negatif sou repitasyon konpayi ou a pou livrezon imel. Sa a ka mennen nan tout imel konpayi ou a te bloke.
      3. Si founisè sèvis imel ou a pèmèt ou antre bob@com.museum, ou ta peye tou pou chak imèl voye nan adrès imel sa jiskaske yo dezabòne adrès sa a akòz rebondisman. Mwen ta evite nenpòt 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

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

  6. 11

    Hi there,

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

    Oswa, èske mwen jis sa 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 TLD longè yo ta aksepte (ki pa intrinsèque mal jan lòt moun te fè remake, men si se te entansyon an ekspresyon an ta ka pi kout).

  11. 18

    Èske ou ka eksplike ekspresyon regilye kòd sa a ak kijan li fonksyone? Epitou sou .test - Èske .test yon deklarasyon default nan javascript tcheke bagay sa yo tankou ou te fè nan kòd ki pi wo a?

  12. 19

    Sa a se yon kòd kout pou ekspresyon imel-

    fonksyon valideEmail (id)
    {
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;
    retounen emailPattern.test (id);

    }
    Deepak Rai
    varanasi

  13. 20

    Sa a se yon kòd kout pou ekspresyon imel-

    fonksyon valideEmail (id)
    {
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;
    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 imel:

    tès@tès

    epi li te pase regex la... Mwen remake li manke chape "." 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 imèl ki valab (pwen pa pèmèt kòm yon dènye karaktè nan pati lokal nan imel).
    Epitou li ta aksepte John...doe@gmail.com ki pa valab tou paske pa ka gen plis pase yon pwen nan yon sekans.

    Sa yo se jis kèk defo mwen remake nan je a premye.
    Entansyon mwen se pa bashing jis montre 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 imel ki valab tcheke sa a: http://en.wikipedia.org/wiki/E-mail_address

  19. 28

    Deepak,

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

    fonksyon valideEmail (id)
    {
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;
    retounen emailPattern.test (id);

    }

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

    Senserite,

    Federico

  20. 29

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

    if (fld.value == "Antre adrès imel ou") {

    erè = "Tanpri antre adrès imel ou.n";
    } else if (!emailFilter.test(tfld)) { //test imèl pou karaktè ilegal

    erè = "Tanpri antre yon adrès imel ki valab.n";
    } sinon si (fld.value.match(illegalChars)) {

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

  21. 30

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

    if (fld.value == "Antre adrès imel ou") {

    erè = "Tanpri antre adrès imel ou.n";
    } else if (!emailFilter.test(tfld)) { //test imèl pou karaktè ilegal

    erè = "Tanpri antre yon adrès imel ki valab.n";
    } sinon si (fld.value.match(illegalChars)) {

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

  22. 31

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

    if (fld.value == "Antre adrès imel ou") {

    erè = "Tanpri antre adrès imel ou.n";
    } else if (!emailFilter.test(tfld)) { //test imèl pou karaktè ilegal

    erè = "Tanpri antre yon adrès imel ki valab.n";
    } sinon si (fld.value.match(illegalChars)) {

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

  23. 32

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

    if (fld.value == "Antre adrès imel ou") {

    erè = "Tanpri antre adrès imel ou.n";
    } else if (!emailFilter.test(tfld)) { //test imèl pou karaktè ilegal

    erè = "Tanpri antre yon adrès imel ki valab.n";
    } sinon si (fld.value.match(illegalChars)) {

    erè = "Tanpri antre yon adrès imel 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.