Préift Passwuert Kraaft mat JavaScript a Regular Expressiounen

Préift Passwuert Kraaft mat JavaScript a Regular Expressiounen

Ech hunn eng Recherche gemaach fir e gutt Beispill ze fannen vun engem Passwuert Kraaft Checker deen benotzt Javascript an Regelméisseg Ausdréck (Regex). An der Applikatioun bei menger Aarbecht maache mir e Post zréck fir d'Passwuertstäerkt z'iwwerpréiwen an et ass zimlech onbequem fir eis Benotzer.

Wat ass Regex?

E reegelméissegen Ausdrock ass eng Sequenz vu Personnagen déi e Sichmuster definéieren. Normalerweis ginn esou Mustere vu String Sich Algorithmen benotzt fir fannen or fannen an ersetzen Operatiounen op Strings, oder fir Input Validatioun. 

Dësen Artikel ass definitiv net fir Iech regelméisseg Ausdréck ze léieren. Just wësst datt d'Fäegkeet Regular Expressiounen ze benotzen wäert Är Entwécklung absolut vereinfachen wann Dir no Musteren am Text sicht. Et ass och wichteg ze bemierken datt déi meescht Entwécklungssproochen de regulären Ausdrock benotzt optimiséiert hunn ... also anstatt Strings step-by-step ze analyséieren an ze sichen, ass Regex typesch vill méi séier wéi Server a Client-Säit.

Ech hunn de Web relativ vill gesicht ier ech fonnt hunn e Beispill vun e puer super Regular Expressiounen déi no enger Kombinatioun vu Längt, Charaktere a Symboler sichen. Wéi och ëmmer, de Code war e bëssen exzessiv fir mäi Goût a personaliséiert fir .NET. Also hunn ech de Code vereinfacht an en a JavaScript gesat. Dëst erlaabt et d'Passwuertstäerkt an Echtzäit am Browser vum Client ze validéieren ier et zréck gepost gëtt ... a gëtt e puer Feedback fir de Benotzer iwwer d'Stäerkt vum Passwuert.

Typ A Passwuert

Mat all Schlag vun der Tastatur gëtt de Passwuert géint de regulären Ausdrock getest an da gëtt de Feedback an de Benotzer an enger Spann drënner geliwwert.




Typ Passwuert

Hei de Code

d' Regelméisseg Ausdréck maacht eng fantastesch Aarbecht fir d'Längt vum Code ze minimiséieren:

  • Méi Personnagen - Wann d'Längt ënner 8 Zeechen ass.
  • schwaach - Wann d'Längt manner wéi 10 Zeechen ass an net eng Kombinatioun vu Symboler, Mutzen, Text enthält.
  • mëttel- - Wann d'Längt 10 Zeechen oder méi ass an eng Kombinatioun vu Symboler, Käpp, Text huet.
  • staark - Wann d'Längt 14 Zeechen oder méi ass an eng Kombinatioun vu Symboler, Mutzen, Text huet.

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

Äert Passwuert ufroen

Et ass essentiell datt Dir net nëmmen d'Passwuertkonstruktioun an Ärem Javascript validéiert. Dëst géif jidderee mat Browserentwécklungsinstrumenter erméiglechen de Skript z'ëmgoen an e Passwuert ze benotze wat se gär hätten. Dir sollt ËMMER e Server-Check benotze fir d'Passwuertstäerkt ze validéieren ier Dir se op Ärer Plattform speichert.

34 Comments

  1. 1
  2. 2

    MERCI! MERCI! MERCI! Ech hu fir 2 Woche mat Verdammt Passwuert Stäerkt Code vun anere Websäite ronderëm an zitt meng Hoer eraus. Är ass kuerz, funktionnéiert grad wéi ech wëll a bescht vun allem, einfach fir en Javascript Ufänger ze änneren! Ech wollt d'Kraaftverdikt erfaassen an net de Formulaire posten fir d'Passwuert vum Benotzer tatsächlech ze aktualiséieren, ausser et huet de Stäerkttest erfëllt. De Code vun anere Leit war ze komplizéiert oder huet net richteg geschafft oder soss eppes. Ech hunn dech gär! XXXXXX

  3. 4

    merci Gott fir Leit, déi eigentlech e Stéck Code richteg schreiwen kann.
    Hat déiselwecht Erfahrung wéi Janis.

    Dëst funktionnéiert direkt aus der Këscht, wat perfekt ass fir Leit wéi ech déi JavaScript net Code kënnen!

  4. 5
  5. 6

    Salut, éischtens villmools Merci fir Är Efforten, Ech hu probéiert dëst mat Asp.net ze benotzen awer huet net geschafft, ech benotzen

    amplaz vum Tag, an et huet net geschafft, all Suggestiounen?!

  6. 7

    Fir Nisreen: de Code an der markéierter Këscht funktionnéiert net mat engem Cut'n'Paste. Dat eenzegt Zitat ass verréckt. De Code vum Demonstratiounslink ass awer gutt.

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

    "P@s$w0rD" weist op staark, obwuel et mat engem Wierderbuchattack zimlech séier geknackt wier ...
    Fir esou eng Feature op eng professionell Léisung z'installéieren, gleewen ech datt et wichteg ass dësen Algorithmus mat engem Wierderbuch ze kombinéieren.

  11. 12
  12. 13

    Merci fir dëse klenge Code, ech kann et elo benotze fir meng Passwuertstäerkt ze testen wann meng Besucher hir Passwierder aginn,

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

    kann een soen, firwat et meng net geklappt huet..

    Ech hunn de ganze Code kopéiert, a paste se op Notizblock ++, awer et funktionnéiert guer net?
    Hëllef Mir w.e.g..

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

    Dës Zort vu "Stäerktchecker" féiert d'Leit op e ganz geféierleche Wee. Et schätzt Charakter Diversitéit iwwer Passphrase Längt, wat et féiert fir méi kuerz, méi divers Passwierder ze bewäerten wéi méi staark wéi méi, manner divers Passwierder. Dat ass e Feeler deen Är Benotzer an Ierger bréngt wa se jeemools eng sérieux Hacking Bedrohung stellen.

    • 25

      Ech sinn net averstanen, Jordan! D'Beispill gouf einfach als Beispill vum Skript erausgestallt. Meng Empfehlung fir d'Leit ass e Passwuertverwaltungsinstrument ze benotzen fir onofhängeg Passwuert fir all Site ze kreéieren déi eenzegaarteg ass. Merci!

  24. 26
  25. 27
  26. 28

    Ech schätzen wierklech datt Dir dëst vill Mol gesicht hutt awer schlussendlech krut ech Äre Post an sinn wierklech iwwerrascht. MERCI

  27. 29
  28. 31
  29. 33

    Dir sidd e Live-Spuerer! Ech parsing Saiten lénks riets an Zentrum a geduecht et e bessere Wee an fonnt Är Stéck Code benotzt Regex. Konnt domat fir meng Säit rëselen ... Dir hutt keng Ahnung wéi vill dëst gehollef huet. Villmools Merci Douglas !!

Wat denks du?

Dëse Site benotzt Akismet fir Spam ze reduzéieren. Léiert wéi Är Kommentarfaten veraarbecht ginn.