Hamarino ny adiresy mailaka amin'ny JavaScript sy ny fanehoan-kevitra mahazatra

Fotoana vitsy lasa izay dia nametraka a Password Strength Checker amin'ny fampiasana JavaScript sy fanehoan-kevitra mahazatra. Amin'io fanamarihana io ihany, azonao atao koa ny manamarina ny firafitry ny adiresy mailaka mampiasa ny fomba fitenenana mahazatra (regex) mitovy.

Raha manana ny id = "emailaddress" ary manampy endrika ianao onSubmit = ”valiny miverinaEmail ();", Ity dia asan'ny Javascript azonao ampiasana hamerenana fampandrenesana raha toa ka manana rafitra marina ny adiresy mailaka na tsia:

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;
}
}

Ny fiasa dia manamarina ny atin'ny mailaka amin'ny an'ny sivana. Raha tsy mahomby ny fampitahana dia mipoitra ny fampandrenesana ary mamerina ny fifantohana hiverina amin'ny sehatry ny adiresy mailaka!

41 Comments

  1. 1

    Ho an'ireo endrika misy adiresy mailaka marobe, tsara raha atao kilasy = ”emailaddress”. Raha manana ny tranomboky prototype.js ianao (http://www.prototypejs.org) tafiditra ao amin'ny pejy azonao atao zavatra toy izao:

    var valid = marina;
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    $$ ('. emailaddress'). tsirairay (asa (mailaka) {
    raha (! filter.test (email.value)) {
    fampandrenesana (? Omeo adiresy mailaka mety?);
    mailaka.focus;
    manan-kery = diso;
    }
    });
    miverina manan-kery;

  2. 5
  3. 7

    Tiako io hevitra io, saingy misalasala aho mampiasa an'io fitenenana mahazatra io manokana nefa tsy milazalaza izay adiresy mailaka ara-dalàna tsy ekeny sy adiresy tsy ara-dalàna avelany.

    Ohatra iray amin'ny fomba fitenenana mahazatra izay manao asa mendrika miaraka amin'ny fanazavan'ireo tranga izay tsy raketiny, jereo ity:

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

    Ny tiako manokana dia ny mandrakotra ny ankamaroan'ny tranga tsotra ary mamoaka fampitandremana amin'ny zavatra hafa rehetra fa tsy mandà azy. Raha tena te-hanolotra i Bob bob@com.museum toa izay bob@museum.com, maninona raha avela izy?

    • 8

      Salama Reg,

      Azonao atao ny manandrana ny Regex mampiasa an Online Regex Tester.

      Ary koa, azo antoka fa betsaka ny zavatra azo atao raha tianao ny hahazoana antoka izany adiresy mailaka manan-kery mifanaraka amin'ny RFC.

      Misy antony vitsivitsy tsy avela hisy hiditra adiresy mailaka tsy mety:
      1. Hahasosotra anao izy ireo rehefa tsy tafita ilay mailaka nandrasan'izy ireo - na inona na inona hadisoanao na diso ny adiresinao.
      2. Raha com.museum dia domain valid ary, andao lazaina hoe, Yahoo! nampandeha azy - ny adiresy mailaka rehetra nateraka izay mety hisy fiatraikany ratsy amin'ny lazan'ilay orinasanao amin'ny fandefasana mailaka. Mety hitarika anao ho voasakana ny mailaky ny orinasa rehetra.
      3. Raha mamela anao hiditra ny mpanome tolotra mailakao bob@com.museum, ianao koa dia mandoa ny mailaka tsirairay nalefa tamin'io adiresy mailaka io mandra-panafahan'izy ireo ny adiresy noho ny fitsangatsanganana. Azoko atao ny miala amin'ny ESP tsy hamela ny adiresy mailaka tsy mety toa izany - maka ny volanao fotsiny ry zareo!

      Misaotra noho ny fijanonana!
      Doug

  4. 9
  5. 10

    Misy fomba tsotra kokoa hanoratana ny fomba fiteny:
    var regex = /^[a-z0-9\._-]+@([a-z0-9_-]+\.)+[a-z]{2,6}$/i;
    - Amin'ny fanovana farany / i dia tsy mila manondro ny faritra ambony.
    - Tsy misy fantatro TLD misy isa ao.
    Amin'ny naoty hafa dia avelako ny TLD hatramin'ny karatra 6; vaovao tonga tsy tapaka ary tsy fantatrao velively (eny, mety hisy isa ao aminy ny ho avy, fantatro).

  6. 11

    Salama e,

    Fantatro fa hampiasa izany amin'ny endrika efa misy aho amin'ny fotoana tena izy, saingy toa tsy manamarina izany amin'ny fotoana mety toy ny fanamarinana ny tanjaky ny tenimiafinao…

    Sa, izaho irery no tsy mahay mandanjalanja, ary miasa ho ahy izy io?

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

    Fanitsiana kely fotsiny: Ny fampiasa mahazatra dia misy fanampiny () + amin'ny farany. Tokony hovakina izany:

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

    Amin'ny halavany voalohany dia ekena ny TLDs (izay tsy diso amin'ny intrinsecally raha notondroin'ny hafa, fa raha izany no fikasana dia azohafohezina ilay fiteny).

  11. 18

    Azonao atao ve ny manazava ny fanehoana matetika an'ity kaody ity sy ny fomba fiasan'izy io? Ary koa momba ny .test - ny .test ve fanambarana tsy misy fampiasa ao amin'ny javascript hijerena ireo zavatra toa ny nataonao tamin'ny kaody etsy ambony?

  12. 19

    Kaody fohy ho an'ny fanehoana mailaka-

    miasa validateEmail (id)
    {
    var emailPattern = / ^^[a-zA-Z0-9._-gris+@[a-zA-Z0-9.-opito+.[a-zA-Zopito{2,4}$/;
    avereno emailPattern.test (id);

    }
    Deepak Rai
    Varanasi

  13. 20

    Kaody fohy ho an'ny fanehoana mailaka-

    miasa validateEmail (id)
    {
    var emailPattern = / ^^[a-zA-Z0-9._-gris+@[a-zA-Z0-9.-opito+.[a-zA-Zopito{2,4}$/;
    avereno emailPattern.test (id);

    }
    Deepak Rai
    Varanasi

  14. 21
  15. 22
  16. 23

    Misaotra fa misy lesoka amin'ity regex ity. Tsy manam-pahaizana momba ny regex aho fa nanandrana mailaka:

    fanandramana @ fitsapana

    ary nandalo ny regex… Hitako fa tsy afa-mandositra ilay "." ka tokony ho:

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

  17. 24
  18. 27

    Ity, ity dia fizahana henjana fotsiny fa tsy marina 100%, ohatra, mety izany john_doe. @ gmail.com izay raha ny marina dia tsy adiresy mailaka manan-kery (tsy avela ho teboka farany amin'ny teboka eo an-toerana ny mailaka).
    Ekena ihany koa john...doe@gmail.com izay tsy mety ihany koa satria tsy misy mihoatra ny teboka iray ao anaty filaharana.

    Ireto misy lesoka fotsiny hitako tamin'ny voalohany.
    Ny tanjoko dia tsy mikororosy fotsiny hanasongadinana izany raha sendra misy mikasa ny hampiasa izany ho toy ny fanaraha-maso fiarovana - tsy dia azo antoka.

    Raha mila fanazavana momba ny adiresy mailaka mety dia zahao ity: http://en.wikipedia.org/wiki/E-mail_address

  19. 28

    Deepak,

    Raha ny tena izy dia heveriko fa mila mametraka fitsoahana ny teboka (".") Ianao. Noho izany, tokony ho ny asanao no tokony ho:

    miasa validateEmail (id)
    {
    var emailPattern = / ^^[a-zA-Z0-9._-gris+@[a-zA-Z0-9.-opito+.[a-zA-Zopito{2,4}$/;
    avereno emailPattern.test (id);

    }

    Raha tsy izany dia midika hoe "toetra amam-panahy" ny teboka. Mino aho fa mila afa-mandositra ireo mpilalao manokana toy izany.

    resaka,

    Federico

  20. 29

    miasa validateEmail (fld) {
    var error = "";
    var tfld = trim (fld.value); // lanjan-tsaha amin'ny saha fotsy no tapaka
    var emailFilter = /^[ ###@ Ingles+@[^@.iwan+.[^@aina*ww$/;
    var illegalChars = / [(),;: \ ”[]] /;

    raha (fld.value == "Ampidiro ny adiresy mailaka") {

    error = "Ampidiro azafady ny adiresy mailaka.n";
    } raha tsy izany raha (! emailFilter.test (tfld)) {// adiresy mailaka ho an'ny endri-tsoratra tsy ara-dalàna

    error = "Ampidiro azafady ny adiresy mailaka mety.n";
    } hafa raha (fld.value.match (illegalChars)) {

    error = "Ampidiro azafady ny adiresy mailaka mety.n";
    }
    miverina hadisoana;
    }

  21. 30

    miasa validateEmail (fld) {
    var error = "";
    var tfld = trim (fld.value); // lanjan-tsaha amin'ny saha fotsy no tapaka
    var emailFilter = /^[ ###@ Ingles+@[^@.iwan+.[^@aina*ww$/;
    var illegalChars = / [(),;: \ ”[]] /;

    raha (fld.value == "Ampidiro ny adiresy mailaka") {

    error = "Ampidiro azafady ny adiresy mailaka.n";
    } raha tsy izany raha (! emailFilter.test (tfld)) {// adiresy mailaka ho an'ny endri-tsoratra tsy ara-dalàna

    error = "Ampidiro azafady ny adiresy mailaka mety.n";
    } hafa raha (fld.value.match (illegalChars)) {

    error = "Ampidiro azafady ny adiresy mailaka mety.n";
    }
    miverina hadisoana;
    }

  22. 31

    miasa validateEmail (fld) {
    var error = "";
    var tfld = trim (fld.value); // lanjan-tsaha amin'ny saha fotsy no tapaka
    var emailFilter = /^[ ###@ Ingles+@[^@.iwan+.[^@aina*ww$/;
    var illegalChars = / [(),;: \ ”[]] /;

    raha (fld.value == "Ampidiro ny adiresy mailaka") {

    error = "Ampidiro azafady ny adiresy mailaka.n";
    } raha tsy izany raha (! emailFilter.test (tfld)) {// adiresy mailaka ho an'ny endri-tsoratra tsy ara-dalàna

    error = "Ampidiro azafady ny adiresy mailaka mety.n";
    } hafa raha (fld.value.match (illegalChars)) {

    error = "Ampidiro azafady ny adiresy mailaka mety.n";
    }
    miverina hadisoana;
    }

  23. 32

    miasa validateEmail (fld) {
    var error = "";
    var tfld = trim (fld.value); // lanjan-tsaha amin'ny saha fotsy no tapaka
    var emailFilter = /^[ ###@ Ingles+@[^@.iwan+.[^@aina*ww$/;
    var illegalChars = / [(),;: \ ”[]] /;

    raha (fld.value == "Ampidiro ny adiresy mailaka") {

    error = "Ampidiro azafady ny adiresy mailaka.n";
    } raha tsy izany raha (! emailFilter.test (tfld)) {// adiresy mailaka ho an'ny endri-tsoratra tsy ara-dalàna

    error = "Ampidiro azafady ny adiresy mailaka mety.n";
    } hafa raha (fld.value.match (illegalChars)) {

    error = "Ampidiro azafady ny adiresy mailaka mety.n";
    }
    miverina hadisoana;
    }

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

Inona ny hevitrao?

Mampiasa Akismet ity tranonkala ity mba hampihenana spam. Fantaro ny fomba amoahanao ny angona fanehoanao.