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.
Ech hunn en anert Passwuertstäerktchecker fonnt. Hiren Algorithmus baséiert op Wierder Wierderbuch. Probéiert een op microsoft.com - http://www.microsoft.com/protect/yourself/password/checker.mspx an een op itsimpl.com - http://www.itsimpl.com
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
Du bass wellkomm! Du bass wellkomm! Du bass wellkomm!
Ech hunn dech och gär!
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!
Merci fir e Stéck Code ze schreiwen dat genau dat mécht wat et op der Dosen seet!
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?!
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.
Hey, ech hunn däi Skript gär! Ech hunn et op hollännesch iwwersat, an ech hunn et a mengem Forum hei gepost!
super Aarbecht! genau wéi et um Client soll gemaach ginn
ganz flott Aarbecht….
Merci Douglas, ech benotzen et fir meng aktuell Aarbecht.
"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.
Wierker super am XULRunner mat e bëssen änneren ronderëm. Merci!
Merci fir dëse klenge Code, ech kann et elo benotze fir meng Passwuertstäerkt ze testen wann meng Besucher hir Passwierder aginn,
Super Stéck Kodéierung
De Skript war super .Ech hat an eisem aktuelle Projet benotzt
Merci fir den Deelen!
Sou einfach a fantastesch Ausdrock. Ech als Tester ofgeleet meng TCs aus dësem Ausdrock.
Merci fir d'Deelen. Dir hutt e puer futti Linken op dëser Säit. FYI.
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..
Fantastesch !!!!! Merci.
Super Job Typ! Einfach an effektiv. Villmools Merci fir Deelen!
merci
Gutt, thx. Awer ... Wat ass e Beispill vun engem STERK Pw? 'kann net een fannen!-{}
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.
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!
merci et funktionnéiert super.
Merci et funktionnéiert gutt
Ech schätzen wierklech datt Dir dëst vill Mol gesicht hutt awer schlussendlech krut ech Äre Post an sinn wierklech iwwerrascht. MERCI
Merci Frënd. Just op menger Websäit ofgesat an et funktionnéiert ganz gutt.
Léift dat ze héieren! Dir sidd häerzlech wëllkomm!
Ech schätzen datt Dir deelt! Ech hu gesicht fir d'Passwuertstäerkt op eiser Websäit ze verbesseren an dëst huet geschafft wéi ech wollt. Villmools Merci!
Merci, hoffen Dir kënnt et personaliséieren wéi néideg.
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 !!
Super ze héieren!