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 alantou pou 2 semèn ak modi fòs modpas kòd soti nan lòt sit entènèt ak rale cheve m 'soti. Ou se kout, travay jis tankou mwen vle ak pi bon nan tout, fasil pou yon inisyasyon JavaScript modifye! Mwen te vle kaptire vèdik la fòs epi yo pa kite pòs fòm lan aktyèlman mete ajou modpas itilizatè a sof si li te rankontre tès la fòs. Kòd Lòt moun yo 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 nan kòd byen.
    Te gen menm eksperyans ak Janis.

    Sa a ap travay dwa soti nan bwat la ki se pafè pou moun tankou m 'ki cant kòd JavaScript!

  4. 5
  5. 6

    Hi, premye a tout mèsi anpil pou efò ur, mwen te eseye sèvi ak sa a ak Asp.net men pa t 'travay, mwen lè l sèvi avèk

    olye pou yo 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 fann san patipri byen vit ak yon atak diksyonè ...
    Pou deplwaye tankou yon karakteristik sou yon solisyon pwofesyonnèl, mwen kwè ke li enpòtan pou konbine algorithm sa a ak yon chèk dictionnary.

  11. 12
  12. 13

    Mèsi pou ti kòd sa a mwen kapab kounye a itilize li 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

    yon moun ka di, poukisa li pa t 'travay mwen ..

    mwen kopye tout kòd la, epi kole li nan notepad ++, men li pa mache ditou?
    tanpri ede mwen ..

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

    Sa a ki kalite "korektè fòs" mennen moun ki desann nan yon chemen trè danjere. Li valè divèsite karaktè sou longè pasfraz, ki mennen li nan pousantaj pi kout, modpas plis divès kòm pi fò pase pi long, modpas mwens divès. Sa se yon erè ki pral fè itilizatè ou yo nan pwoblèm si yo janm fè fas a yon menas ranje andedan grav.

    • 25

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

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

    Ou se yon ekonomizeur ap viv! Mwen te analize strings kite adwat ak sant e mwen te panse gen yon pi bon fason epi mwen te jwenn moso kòd ou an lè ou itilize Regex. Te kapab tinkle ak li pou sit mwen an ... Ou pa gen okenn lide konbyen lajan 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.