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 scomodu 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è ancu impurtante di nutà chì a maiò parte di e lingue di sviluppu anu ottimizatu l'usu di l'espressione 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 cumminazione 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 ... è furnisce 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

    À RINGRAZIÀ TI! À RINGRAZIÀ TI! À RINGRAZIÀ TI! Aghju ingannatu per 2 settimane cù un codice di forza di password dannata da altri siti web è mi tira i capelli. U vostru hè cortu, funziona cum'è vogliu è u megliu di tutti, faciule da mudificà per un principiante javascript! Vuliu catturà u vermentu di forza è ùn lasciare micca u post di furmulariu per aghjurnà in realtà a password di l'utilizatore a menu chì ùn risponde micca à u test di forza. U codice di l'altri era troppu cumplicatu o ùn hà micca travagliatu bè o qualcosa d'altru. Ti tengu caru! XXXXX

  3. 4

    ringraziu Diu per e persone chì ponu scrive in realtà un pezzu di codice currettamente.
    Avia a stessa sperienza di Janis.

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

  4. 5
  5. 6

    Salute, prima di tuttu grazie assai per i vostri sforzi, aghju provatu à aduprà questu cun Asp.net ma ùn hà micca travagliatu, sto aduprendu

    invece di tag, è ùn hà micca travagliatu, alcuni suggerimenti?!

  6. 7

    À Nisreen: u codice in a scatula evidenziata ùn funziona micca cù un cut'n'paste. A citazione unica hè imbulighjata. U codice di u ligame di dimostrazione hè bè quantunque.

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

    "P @ s $ w0rD" si mostra forte, ancu s'ellu seria cracked abbastanza rapidamente cù un attaccu dicionariu ...
    Per implementà una tale caratteristica nantu à una soluzione prufessiunale, credu chì hè impurtante di cunghjuntà st'algoritmu cun un cuntrollu dicziunariu.

  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 cupiatu tuttu u còdice, è incollallu in u libru Notepad ++, ma ùn funziona mancu à pena?
    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. Valurizeghja a diversità di i caratteri nantu à a lunghezza di a frasa, purtendula à valutà password più brevi è più diverse cum'è più forti cà password più lunghe è menu diverse. Hè una falacia chì mette i vostri utenti in guai se affrontanu mai una seria minaccia di pirateria.

    • 25

      Ùn sò micca d'accordu, Ghjurdanu! L'esempiu hè statu solu messu cum'è un esempiu di u script. A mo raccomandazione per e persone hè di aduprà un strumentu di gestione di e password per creà frasi di passaghju indipendenti per qualsiasi situ chì li sò unichi. Grazie!

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

    Sì un salvatore in diretta! Parsava e corde à manca è à u centru è pensu chì ci hè un modu megliu è aghju trovu u vostru pezzu di codice cù Regex. Hè statu capace di tintinallu 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.