Verificate a Forza di a Parolla Chjave cù JavaScript è Sprissioni Rigulari

Verificate a Forza di a Parolla Chjave cù JavaScript è Sprissioni Rigulari

Aghju fattu qualchì ricerca per truvà un bon esempiu di un verificatore di Forza di Parola chì usa JavaScript e Sprissioni Rigulari (Regex). In l'applicazione à u mo travagliu, femu un post per verificà a forza di a password è hè abbastanza scumudente per i nostri utilizatori.

Chì ghjè Regex?

Una spressione regulare hè una sequenza di caratteri chì definiscenu un mudellu di ricerca. Di solitu, tali mudelli sò aduprati da l'algoritmi di ricerca di stringhe per truvà or truvà è rimpiazzà operazioni nantu à e catene, o per validazione di l'input. 

Questu articulu ùn hè sicuramente micca per amparà espressioni regulare. Sapete solu chì a capacità di aduprà Espressioni Regulari simplificherà assolutamente u vostru sviluppu mentre cercate mudelli in u testu. Hè impurtante ancu di nutà chì a maiò parte di e lingue di sviluppu anu ottimizatu l'usu di spressione regulare ... allora piuttostu ch'è d'analisi è di ricerca di stringhe passu à passu, Regex hè tipicamente assai più veloce sia à u servitore sia à u latu di u cliente.

Aghju cercatu u web abbastanza prima di truvà un esempiu di alcune grandi Espressioni Regulari chì cercanu una cumbinazione di lunghezza, caratteri è simboli. Tuttavia, u codice era un pocu eccessivu per u mo gustu è adattatu per .NET. Cusì aghju simplificatu u codice è u mettu in JavaScript. Ciò li rende cunvalidà a forza di a password in tempu reale nantu à u navigatore di u cliente prima di mandallu torna ... è fornisce qualchì feedback à l'utente nantu à a forza di a password.

Type A Password

Cù ogni colpu di a tastiera, a password hè testata contr'à l'espressione regulare è poi u feedback hè furnitu à l'utente in un intervallu sottu.




Type Type Password

Eccu u Codice

lu Sprissioni Rigulari fà un fantasticu travagliu di minimizà a lunghezza di u codice:

  • Più caratteri - Se a lunghezza hè inferiore à 8 caratteri.
  • debuli - Se a lunghezza hè menu di 10 caratteri è ùn cuntene micca una cumbinazione di simboli, tappi, testu.
  • Medio - Se a lunghezza hè 10 caratteri o più è hà una cumbinazione di simboli, tappi, testu.
  • Nis - Se a lunghezza hè 14 caratteri o più è hà una cumbinazione di simboli, tappi, testu.

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

Indurisce a Vostra Richiesta di Password

Hè di primura chì ùn validiate micca solu a custruzzioni di a parolla d'intesa in u vostru Javascript. Questu permetterà à chiunque cun strumenti di sviluppu di u navigatore di saltà u script è aduprà qualunque password chì li piacerebbe. Duvete SEMPRE aduprà un cuntrollu di u servitore per validà a forza di a password prima di archiviala in a vostra piattaforma.

34 Comments

  1. 1
  2. 2

    GRAZIE! GRAZIE! GRAZIE! Aghju ingannatu per 2 settimane cù codice di forza di password maledetta da altri siti web è tirà i capelli. U vostru hè cortu, funziona cum'è vogliu è u megliu di tuttu, faciule per un principiante di Javascript per mudificà! Vuliu catturà u verdict di forza è ùn lascià micca chì a forma post aghjurnà veramente a password di l'utilizatore, salvu chì ùn hà scuntratu a prova di forza. U codice di l'altri era troppu cumplicatu o ùn hà micca travagliatu bè o qualcosa altru. Ti tengu caru! XXXXX

  3. 4

    grazie à Diu per e persone chì ponu veramente scrive un pezzu di codice bè.
    Hà avutu a stessa sperienza chì Janis.

    Questu funziona ghjustu fora di a scatula chì hè perfetta per e persone cum'è mè chì ùn ponu micca codice javascript!

  4. 5
  5. 6

    Ciao, prima di tuttu grazie assai per i vostri sforzi, aghju pruvatu à aduprà questu cù Asp.net ma ùn hà micca travagliatu, aghju utilizatu

    invece di tag, è ùn hà micca travagliatu, qualchì suggerimentu ?!

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

    "P@s$w0rD" si mostra forte, ancu s'ellu seria crackatu abbastanza rapidamente cù un attaccu di dizziunariu...
    Per implementà una tale funzione nantu à una suluzione prufessiunale, crede chì hè impurtante cumminà stu algoritmu cù un cuntrollu di dizziunariu.

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

    qualcunu pò dì perchè ùn hà micca travagliatu u mo ..

    Aghju copiatu tuttu u codice, è incollà in notepad++, ma ùn funziona micca in tuttu?
    per piacè aiutami..

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

    Stu tipu di "verificatore di forza" porta a ghjente per una strada assai periculosa. Valutà a diversità di caratteri nantu à a lunghezza di passphrase, purtendu à qualificà e password più brevi è più diverse cum'è più forti cà e password più lunghe è menu diverse. Questa hè una fallacia chì metterà i vostri utenti in prublemi s'ellu mai affruntà una seria minaccia di pirate.

    • 25

      Ùn sò micca d'accordu, Ghjordanu ! L'esempiu hè statu solu messu cum'è un esempiu di u script. A mo ricunniscenza per e persone hè di utilizà un strumentu di gestione di password per creà passphrases indipendenti per qualsiasi situ chì sò unichi per ellu. Grazie!

  24. 26
  25. 27
  26. 28
  27. 29
  28. 31
  29. 33

    Sò un salvatore vivu! Eru parsing strings left right and center è pensu chì ci hè un modu megliu è trovu u vostru pezzu di codice cù Regex. Puderaghju chjappà cun ellu per u mo situ ... Ùn avete micca idea di quantu hà aiutatu. Grazie mille Douglas !!

Chì ne pensi?

Stu situ utilizeghja Akismet per reducisce u puzzicheghju. Sapete ciò chì i dati di i vostri dati è processatu.