Egiaztatu pasahitzaren indarra Javascript-ekin eta ohiko adierazpenekin

Egiaztatu pasahitzaren indarra Javascript-ekin eta ohiko adierazpenekin

Erabiltzen duen Pasahitz Indarraren egiaztatzaile baten adibide on bat aurkitzeko ikerketa batzuk egiten ari nintzen Ikusteko Javascript-a Erregularren adierazpenak (Regex). Nire lanean dagoen aplikazioan, mezu bat egiten dugu pasahitzaren indarra egiaztatzeko eta nahiko deserosoa da gure erabiltzaileentzat.

Zer da Regex?

Adierazpen erregularra bilaketa eredu bat definitzen duten karaktereen sekuentzia da. Normalean, eredu horiek kateen bilaketa algoritmoek erabiltzen dituzte aurkitu or aurkitu eta ordezkatu kateetan eragiketak edo sarrera balioztatzeko. 

Artikulu hau ez da behin betiko esamolde erregularrak irakasteko. Jakin ezazu Esamolde Erregularrak erabiltzeko gaitasunak zure garapena erabat erraztuko duela testuan ereduak bilatzen dituzunean. Garrantzitsua da ere garatzea hizkuntza gehienek adierazpen erregularraren erabilera optimizatu dutela ... beraz, kateak analizatu eta pausoz pauso bilatu beharrean, Regex zerbitzaria eta bezeroaren aldetik askoz azkarragoa da normalean.

Sarean bilatu nuen dezente aurkitu baino lehen adibide bat luzera, karaktere eta sinboloen konbinazioa bilatzen duten Adierazpen Erregular bikain batzuenak. Hala ere, kodea apur bat gehiegizkoa zen nire gusturako eta .NETerako egokituta zegoen. Beraz, kodea sinplifikatu eta JavaScript-en jarri nuen. Horrek bezeroaren arakatzailean pasahitzaren indarra denbora errealean balioztatzen du berriro bidali aurretik ... eta pasahitzaren indarrari buruzko iritzia ematen dio erabiltzaileari.

Idatzi A pasahitza

Teklatuaren kolpe bakoitzarekin, pasahitza adierazpen erregularraren aurka probatzen da eta ondoren iritzia ematen zaio erabiltzaileari haren azpian dagoen tarte batean.




Idatzi pasahitza

Hona hemen Kodea

The Erregularren adierazpenak egin kodearen luzera minimizatzeko lan bikaina:

  • Pertsonaia gehiago - Luzera 8 karaktere baino gutxiagokoa bada.
  • ahula - Luzerak 10 karaktere baino gutxiago baditu eta ikurrak, maiuskulak, testuak konbinatuta ez baditu.
  • Medium - Luzera 10 karaktere edo gehiagokoa bada eta ikurrak, maiuskulak, testua konbinatuta baditu.
  • Strong - Luzera 14 karaktere edo gehiagokoa bada eta sinboloak, maiuskulak, testua konbinatuta baditu.

<script language="javascript">
    function passwordChanged() {
        var strength = document.getElementById('strength');
        var strongRegex = new RegExp("^(?=.{14,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
        var mediumRegex = new RegExp("^(?=.{10,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
        var enoughRegex = new RegExp("(?=.{8,}).*", "g");
        var pwd = document.getElementById("password");
        if (pwd.value.length == 0) {
            strength.innerHTML = 'Type Password';
        } else if (false == enoughRegex.test(pwd.value)) {
            strength.innerHTML = 'More Characters';
        } else if (strongRegex.test(pwd.value)) {
            strength.innerHTML = '<span style="color:green">Strong!</span>';
        } else if (mediumRegex.test(pwd.value)) {
            strength.innerHTML = '<span style="color:orange">Medium!</span>';
        } else {
            strength.innerHTML = '<span style="color:red">Weak!</span>';
        }
    }
</script>
<input name="password" id="password" type="text" size="15" maxlength="100" onkeyup="return passwordChanged();" />
<span id="strength">Type Password</span>

Pasahitz eskaera gogortzen

Ezinbestekoa da zure Javascript-en pasahitza eraikitzea soilik balioztatzea. Horrek arakatzailea garatzeko tresnak dituen edonori script-a saihestu eta nahi duen pasahitza erabiltzea ahalbidetuko dio. BETI zerbitzariaren aldeko egiaztapena erabili beharko zenuke zure plataforman gorde aurretik pasahitzaren indarra balioztatzeko.

34 Comments

  1. 1
  2. 2

    ESKERRIK ASKO! ESKERRIK ASKO! ESKERRIK ASKO! 2 aste daramatzat beste webgune batzuetako pasahitz indarraren kodigo madarikatuarekin eta ilea ateratzen. Zurea laburra da, nahi dudan bezala funtzionatzen du eta onena da, erraza da javascript hasiberri batek aldatzea! Indarraren epaia jaso nahi nuen eta ez utzi inprimakia erabiltzailearen pasahitza eguneratzen benetan indartzen duen proba betetzen ez bazuen. Besteen kodea konplexuegia zen edo ez zuen ondo funtzionatzen edo beste zerbait. Maite zaitut! XXXXX

  3. 4

    eskerrik asko Jainkoari kode zati bat behar bezala idatz dezaketen pertsonengatik.
    Janisen esperientzia bera izan zuen.

    Javascript kodea ezin duten ni bezalako jendearentzat ezin hobea da.

  4. 5
  5. 6

    Kaixo, lehenik eta behin mila esker egindako ahaleginagatik, Asp.net-ekin erabiltzen saiatu nintzen baina ez nuen funtzionatzen, erabiltzen ari naiz

    etiketaren ordez, eta ez du funtzionatu, iradokizunik ?!

  6. 7
  7. 8
  8. 9
  9. 10
  10. 11

    "P @ s $ w0rD" indartsu erakusten da, nahiz eta nahiko azkar pitzatuko litzateke diktarioen eraso batekin ...
    Ezaugarri hori lanbide irtenbide batean hedatzeko, garrantzitsua dela uste dut algoritmo hau dibertsio kontrol batekin konbinatzea.

  11. 12
  12. 13

    Eskerrik asko kode txiki honengatik erabil dezaket orain nire pasahitzaren indarra probatzeko nire bisitariek beren pasahitzak sartzen dituztenean,

  13. 14
  14. 15
  15. 16
  16. 17
  17. 18
  18. 19

    norbaitek esan dezake, zergatik ez zuen funtzionatu nireak ..

    Kode guztia kopiatu nuen, eta Notepad ++-en itsatsi, baina ez du batere funtzionatzen?
    lagundu mesedez..

  19. 20
  20. 21
  21. 22
  22. 23
  23. 24

    "Indar kontrolatzailea" mota honek oso bide arriskutsutik eramaten du jendea. Karaktere aniztasuna pasaesaldi luzearen gainetik baloratzen du, pasahitz laburragoak eta askotarikoagoak baloratzen ditu, pasahitz luzeagoak eta hain anitzak baino indartsuagoak izan daitezen. Hori da zure erabiltzaileek arazoak sortuko dituena, hacking mehatxu larria izanez gero.

    • 25

      Ez nago ados, Jordan! Adibidea gidoiaren adibide gisa jarri zen. Jendearentzako gomendioa pasahitzak kudeatzeko tresna bat erabiltzea da, berarentzako bakarra den edozein gunetarako pasahitz independenteak sortzeko. Eskerrik asko!

  24. 26
  25. 27
  26. 28

    Benetan eskertzen dut hau askotan bilatu izana, baina azkenean zure mezua jaso dut eta oso pozik nago. ESKERRIK ASKO

  27. 29
  28. 31
  29. 33

    Zuzeneko aurrezlea zara! Kateak ezkerretik eskuinera eta erdian aztertzen ari nintzen eta modu hobea dagoela pentsatu nuen eta zure kodea pieza aurkitu nuen Regex erabiliz. Nire webgunearekin gai izan nintzen ... Ez dakizu zenbateraino lagundu zuen. Mila esker Douglas !!

Zer deritzozu?

Gune honek Akismet-ek spam erabiltzen du. Ikasi zure iruzkina nola prozesatu den.