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'ny endrika misy adiresy mailaka marobe dia tsara ny manao class=”mailaddress”. Raha manana ny tranomboky prototype.js ianao (http://www.prototypejs.org) tafiditra ao amin'ny pejy azonao atao toy izao:

    var valid = marina;
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    $$('.emailaddress') .each( function(mailaka) {
    raha (!filter.test(email.value)) {
    alert(?Mba omeo adiresy mailaka manan-kery?);
    email.focus;
    mitombina = diso;
    }
    });
    miverina manan-kery;

  2. 5
  3. 7

    Tiako ilay hevitra, saingy misalasala aho ny handray an'io fomba fiteny mahazatra io tsy misy famaritana ny adiresy mailaka ara-dalàna tsy ekena ary ny adiresy tsy ara-dalàna azony.

    Raha mila ohatra iray amin'ny fanehoan-kevitra mahazatra izay manao asa mendrika miaraka amin'ny fanazavana momba ny tranga tsy voarakotra dia jereo ity:

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

    Ny tiako manokana dia ny mitantara ny ankamaroan'ny tranga tsotra ary mamoaka fampitandremana ho an'ny zavatra hafa rehetra fa tsy mandà izany. Raha tena te hanaiky i Bob bob@com.museum toa izay bob@museum.com, maninona raha avela izy?

    • 8

      Salama Reg,

      Azonao atao ny manandrana ny Regex amin'ny fampiasana a Online Regex Tester.

      Ary koa, azo antoka fa betsaka kokoa ny zavatra azo atao raha te hiantoka an adiresy mailaka dia manan-kery mifanaraka amin'ny RFC.

      Misy antony vitsivitsy tsy hamelana olona hiditra adiresy mailaka tsy mety:
      1. Ho sosotra aminao izy ireo rehefa tsy tonga ny mailaka nantenainy – na inona na inona fahadisoanao na tsia ny fampidirana ny adiresy.
      2. Raha sehatra manan-kery ny com.museum ary, andao atao hoe, Yahoo! nitantana azy – izay adiresy mailaka miboiboika dia hisy fiantraikany ratsy amin'ny lazan'ny orinasanao amin'ny fandefasana mailaka. Mety hitarika ho amin'ny fanakanana ny mailaka rehetra an'ny orinasanao izany.
      3. Raha namela anao hiditra ny mpanome tolotra mailaka anao bob@com.museum, ianao koa dia handoa ny mailaka tsirairay alefa amin'io adiresy mailaka io mandra-pialan'izy ireo an'io adiresy io noho ny bounce. Miala amin'izay ESP mety hamela adiresy mailaka tsy manan-kery toa an'izany aho – maka ny volanao fotsiny izy ireo!

      Misaotra noho ny fijanonana!
      Doug

  4. 9
  5. 10

    Misy fomba tsotra kokoa hanoratana ilay fitenenana:
    var regex = /^[a-z0-9\._-]+@([a-z0-9_-]+\.)+[a-z]{2,6}$/i;
    – Miaraka amin'ny fanovana farany /i dia tsy ilaina ny manondro ny salan'isa ambony.
    – Tsy fantatro na iray aza TLD misy isa ao.
    Amin'ny lafiny iray, avelako ny TLD miaraka amin'ny chars 6; tonga tsy tapaka ireo vaovao ary tsy fantatrao mihitsy (eny, mety misy isa aza ny ho avy sasany, fantatro).

  6. 11

    Salama e,

    Miezaka mampiasa an'io amin'ny endrika efa misy aho amin'ny fotoana tena izy, saingy toa tsy voamarina amin'ny fotoana tena izy toy ny mpitsikilo tanjaky ny tenimiafinao…

    Sa, tsy mahalala na inona na inona aho, ary tsy miasa amiko izany?

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

    Fanitsiana kely fotsiny: Misy fanampiny ()+ ny fitenenana mahazatra amin'ny farany. Tokony hamaky izany:

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

    Amin'ny voalohany dia azo ekena ny TLDs lava rehetra (izay tsy diso tanteraka araka ny nasehon'ny hafa, fa raha izany no fikasana dia azo nohafohezina ny fomba fiteny).

  11. 18

    Azonao hazavaina ve azafady ny fanehoana tsy tapaka an'ity kaody ity sy ny fomba fiasany? Ary koa momba ny .test - Moa ve ny .test dia fanambarana default amin'ny javascript mba hanamarinana ny zavatra tahaka ny nataonao tamin'ny code etsy ambony?

  12. 19
  13. 20

    Ity dia kaody fohy ho an'ny fanehoana mailaka-

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

    fitsapana @ fitsapana

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

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

  17. 24
  18. 27

    Eny, fisavana henjana fotsiny izany fa tsy marina 100%, ohatra, mety tsara izany john_doe.@gmail.com izay raha ny marina dia tsy adiresy mailaka manan-kery (tsy azo atao ny teboka farany amin'ny ampahany eo an-toerana amin'ny mailaka).
    Ekena koa izany john…doe@gmail.com izay tsy manan-kery ihany koa satria tsy azo atao mihoatra ny teboka iray ny filaharana.

    Ireo lesoka voamariko tamin'ny voalohany.
    Ny tanjoko dia tsy manaratsy fotsiny ny manondro an'io raha misy olona mikasa ny hampiasa izany ho fisavana fiarovana - tsy ampy antoka.

    Raha mila fampahalalana momba ny adiresy mailaka manan-kery dia jereo ity: http://en.wikipedia.org/wiki/E-mail_address

  19. 28

    Deepak,

    Raha ny marina, heveriko fa mila mampihatra fandosirana ho an'ny teboka ("."). Noho izany, ny asanao dia tokony ho:

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

    }

    Raha tsy izany, ny teboka dia midika hoe "toetra rehetra". Mino aho fa mila mandositra ireo toetra manokana toy izany.

    resaka,

    Federico

  20. 29

    function validateEmail(fld) {
    var error="";
    var tfld = trim(fld.value); // sandan'ny saha misy habaka fotsy nesorina
    var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/ ;
    var illegalChars= /[(),;:\”[]]/ ;

    if (fld.value == “Ampidiro ny adiresy mailakao”) {

    error = “Ampidiro azafady ny adiresy mailakao.n”;
    } hafa raha (!emailFilter.test(tfld)) { //andrana mailaka ho an'ny litera tsy ara-dalàna

    error = “Ampidiro azafady ny adiresy mailaka manan-kery.n”;
    } hafa raha (fld.value.match(illegalChars)) {

    error = “Ampidiro azafady ny adiresy mailaka manan-kery.n”;
    }
    fiverenana diso;
    }

  21. 30

    function validateEmail(fld) {
    var error="";
    var tfld = trim(fld.value); // sandan'ny saha misy habaka fotsy nesorina
    var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/ ;
    var illegalChars= /[(),;:\”[]]/ ;

    if (fld.value == “Ampidiro ny adiresy mailakao”) {

    error = “Ampidiro azafady ny adiresy mailakao.n”;
    } hafa raha (!emailFilter.test(tfld)) { //andrana mailaka ho an'ny litera tsy ara-dalàna

    error = “Ampidiro azafady ny adiresy mailaka manan-kery.n”;
    } hafa raha (fld.value.match(illegalChars)) {

    error = “Ampidiro azafady ny adiresy mailaka manan-kery.n”;
    }
    fiverenana diso;
    }

  22. 31

    function validateEmail(fld) {
    var error="";
    var tfld = trim(fld.value); // sandan'ny saha misy habaka fotsy nesorina
    var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/ ;
    var illegalChars= /[(),;:\”[]]/ ;

    if (fld.value == “Ampidiro ny adiresy mailakao”) {

    error = “Ampidiro azafady ny adiresy mailakao.n”;
    } hafa raha (!emailFilter.test(tfld)) { //andrana mailaka ho an'ny litera tsy ara-dalàna

    error = “Ampidiro azafady ny adiresy mailaka manan-kery.n”;
    } hafa raha (fld.value.match(illegalChars)) {

    error = “Ampidiro azafady ny adiresy mailaka manan-kery.n”;
    }
    fiverenana diso;
    }

  23. 32

    function validateEmail(fld) {
    var error="";
    var tfld = trim(fld.value); // sandan'ny saha misy habaka fotsy nesorina
    var emailFilter = /^[^@]+@[^@.]+.[^@]*ww$/ ;
    var illegalChars= /[(),;:\”[]]/ ;

    if (fld.value == “Ampidiro ny adiresy mailakao”) {

    error = “Ampidiro azafady ny adiresy mailakao.n”;
    } hafa raha (!emailFilter.test(tfld)) { //andrana mailaka ho an'ny litera tsy ara-dalàna

    error = “Ampidiro azafady ny adiresy mailaka manan-kery.n”;
    } hafa raha (fld.value.match(illegalChars)) {

    error = “Ampidiro azafady ny adiresy mailaka manan-kery.n”;
    }
    fiverenana diso;
    }

  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.