Tcheke fòs modpas ak JavaScript ak ekspresyon regilye

Tcheke fòs modpas ak JavaScript ak ekspresyon regilye

Mwen te fè kèk rechèch sou jwenn yon bon egzanp nan yon korektè fòs modpas ki itilize JavaScript ak Ekspresyon regilye (Regex). Nan aplikasyon an nan travay mwen an, nou fè yon pòs tounen nan verifye fòs modpas la epi li byen konvenyan pou itilizatè nou yo.

Kisa Regex ye?

Yon ekspresyon regilye se yon sekans nan karaktè ki defini yon modèl rechèch. Anjeneral, modèl sa yo yo te itilize pa algoritm chache fisèl pou jwenn or jwenn epi ranplase operasyon sou strings, oswa pou validation opinyon. 

Atik sa a definitivman pa anseye ou ekspresyon regilye. Jis konnen ke kapasite nan sèvi ak ekspresyon regilye pral absoliman senplifye devlopman ou jan ou rechèch pou modèl nan tèks. Li enpòtan tou sonje ke pifò lang devlopman yo te optimize regilye ekspresyon itilize ... Se konsa, olye ke analize ak chache strings etap pa etap, Regex se tipikman pi vit tou de sèvè ak kliyan-bò.

Mwen fouye entènèt la yon ti jan anvan mwen jwenn yon egzanp nan kèk ekspresyon regilye gwo ki gade pou yon konbinezon de longè, karaktè, ak senbòl. Howver, kòd la te yon ti kras twòp pou gou mwen ak pwepare pou .NET. Se konsa, mwen senplifye kòd la, li mete l 'nan JavaScript. Sa fè li valide fòs modpas la an tan reyèl sou navigatè kliyan an anvan ou afiche li tounen ... epi li bay kèk fidbak itilizatè a sou fòs modpas la.

Tape yon modpas

Avèk chak konjesyon serebral nan klavye a, modpas la teste kont ekspresyon regilye a ak Lè sa a, se fidbak bay itilizatè a nan yon span anba li.




Tape Modpas

Isit la nan Kòd la

Jounal Ekspresyon regilye fè yon kokenn travay pou minimize longè kòd la:

  • Plis karaktè - Si longè a se anba 8 karaktè.
  • Fèb - Si longè a se mwens pase 10 karaktè epi li pa gen yon konbinezon de senbòl, bouchon, tèks.
  • mwayen - Si longè a se 10 karaktè oswa plis e li gen yon konbinezon de senbòl, bouchon, tèks.
  • - Si longè a se 14 karaktè oswa plis epi li gen yon konbinezon de senbòl, bouchon, tèks.

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

Ranfòse Demann Modpas ou

Li esansyèl ke ou pa jis valide konstriksyon an modpas nan JavaScript ou. Sa a ta pèmèt nenpòt moun ki gen zouti devlopman navigatè kontoune script la epi sèvi ak tou sa modpas yo ta renmen. Ou ta dwe TOUJOU itilize yon chèk sèvè pou valide fòs modpas la anvan ou estoke li nan platfòm ou an.

34 Kòmantè

  1. 1
  2. 2

    MÈSI! MÈSI! MÈSI! Mwen te twonpe pandan 2 semèn ak modi kòd fòs modpas ki soti nan lòt sit entènèt ak rale cheve m 'soti. Ou kout, travay menm jan mwen vle ak pi bon nan tout, fasil pou yon inisyasyon javascript modifye! Mwen te vle pran vèdik la fòs epi yo pa kite fòm nan afiche aktyèlman mete ajou modpas itilizatè a sof si li te rankontre tès la fòs. Kòd lòt moun te twò konplike oswa pa t travay byen oswa yon lòt bagay. Mwen renmen ou! XXXXX

  3. 4

    di Bondye mèsi pou moun ki ka aktyèlman ekri yon moso kòd byen.
    Te gen menm eksperyans ak Janis.

    Sa a travay dwat soti nan bwat la ki se pafè pou moun tankou m 'ki pa ka kòd javascript!

  4. 5
  5. 6

    Hi, anvan tout mèsi anpil pou efò w yo, mwen te eseye sèvi ak sa a ak Asp.net men li pa t travay, mwen ap itilize

    olye de tag, epi li pa t travay, nenpòt sijesyon?!

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

    "P@s$w0rD" montre nan fò, byenke li ta ka fann jistis byen vit ak yon atak diksyonè ...
    Pou deplwaye yon karakteristik konsa sou yon solisyon pwofesyonèl, mwen kwè li enpòtan pou konbine algorithm sa a ak yon chèk diksyonè.

  11. 12
  12. 13

    Mèsi pou ti kòd sa a mwen ka sèvi ak li kounye a pou teste fòs modpas mwen lè vizitè mwen yo antre modpas yo,

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

    Èske yon moun ka di, poukisa li pa t 'te travay mwen an..

    Mwen kopye tout kòd la, epi kole li nan notepad++, men li pa travay ditou?
    tanpri ede m '..

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

    Kalite "chekè fòs" sa a mennen moun sou yon chemen trè danjere. Li bay karaktè divèsite plis pase longè pasfraz, sa ki mennen li bay modpas ki pi kout, ki pi divèsifye kòm pi fò pase modpas ki pi long ak mwens divès. Sa se yon erè ki pral fè itilizatè ou yo nan pwoblèm si yo janm fè fas a yon menas piratage grav.

    • 25

      Mwen pa dakò, Jordan! Egzanp lan te tou senpleman mete deyò kòm yon egzanp nan script la. Rekòmandasyon mwen pou moun se sèvi ak yon zouti jesyon modpas pou kreye pasfraz endepandan pou nenpòt sit ki inik nan li. Mèsi!

  24. 26
  25. 27
  26. 28

    Mwen vrèman apresye w ap fouye sa a anpil fwa men anfen mwen te resevwa pòs ou a epi mwen vrèman sezi. MÈSI

  27. 29
  28. 31
  29. 33

    Ou se yon sove lavi! Mwen te analize strings gòch dwat ak sant epi mwen te panse gen yon pi bon fason epi mwen jwenn moso kòd ou lè l sèvi avèk Regex. Te kapab tinkle ak li pou sit mwen an ... Ou pa gen okenn lide ki kantite sa a te ede. Mèsi anpil Douglas!!

Ki sa ou panse?

Sit sa a sèvi ak Akismet diminye Spam. Aprann kijan kòmantè ou a trete.