Erabiltzen duen Pasahitz Indarraren egiaztatzaile baten adibide on bat aurkitzeko ikerketa batzuk egiten ari nintzen Ikusteko Javascript-a Erregularren adierazpenak (Regex). Nire lanean dagoen aplikazioan mezu bat egiten dugu pasahitzaren indarra egiaztatzeko eta nahiko deserosoa da gure erabiltzaileentzat.
Zer da Regex?
Adierazpen erregularra bilaketa eredu bat definitzen duten karaktereen sekuentzia da. Normalean, eredu horiek kateen bilaketa algoritmoek erabiltzen dituzte aurkitu or aurkitu eta ordezkatu kateetan eragiketak edo sarrera balioztatzeko.
Artikulu hau ez da behin betiko esamolde erregularrak irakasteko. Jakin ezazu Esamolde Erregularrak erabiltzeko gaitasunak zure garapena erabat erraztuko duela testuan ereduak bilatzen dituzunean. Garrantzitsua da ere garatzea hizkuntza gehienek adierazpen erregularraren erabilera optimizatu dutela ... beraz, kateak pausoz pauso aztertu eta bilatu beharrean, Regex zerbitzaria eta bezeroaren aldetik askoz azkarragoa da.
Sarean bilatu nuen dezente aurkitu baino lehen adibide bat luzera, karaktere eta sinboloen konbinazioa bilatzen duten Adierazpen Erregular bikain batzuenak. Dena den, kodea apur bat gehiegizkoa zen nire gusturako eta .NETerako egokituta zegoen. Beraz, kodea sinplifikatu eta JavaScript-en jarri nuen. Horrek pasahitzaren indarra denbora errealean balioztatzen du bezeroaren arakatzailean berriro bidali aurretik ... eta pasahitzaren indarrari buruzko iritzia ematen dio erabiltzaileari.
Idatzi A pasahitza
Teklatuaren kolpe bakoitzarekin, pasahitza adierazpen erregularraren aurka probatzen da eta ondoren iritzia ematen zaio erabiltzaileari haren azpian dagoen tarte batean.
Idatzi pasahitza
Hona hemen Kodea
The Erregularren adierazpenak egin kodearen luzera minimizatzeko lan bikaina:
- Pertsonaia gehiago - Luzera 8 karaktere baino gutxiagokoa bada.
- ahula - Luzera 10 karaktere baino gutxiagokoa bada eta ikurrak, maiuskulak, testuak konbinatuta ez baditu.
- Medium - Luzera 10 karaktere edo gehiagokoa bada eta ikurrak, maiuskulak, testua konbinatuta baditu.
- Strong - Luzera 14 karaktere edo gehiagokoa bada eta sinboloak, maiuskulak, testua konbinatuta baditu.
<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>
Pasahitz eskaera gogortzen
Ezinbestekoa da zure Javascript-en pasahitza eraikitzea soilik balioztatzea. Horrek arakatzailea garatzeko tresnak dituen edonori script-a saihestu eta nahi duen pasahitza erabil dezake. BETI zerbitzariaren aldeko egiaztapena erabili beharko zenuke zure plataforman gorde aurretik pasahitzaren indarra balioztatzeko.
Pasahitz beste kontrol zuzentzaile bat aurkitu dut. Hitzen hiztegian oinarritutako algoritmoa. Probatu bat microsoft.com webgunean - http://www.microsoft.com/protect/yourself/password/checker.mspx eta bat itsimpl.com webgunean - http://www.itsimpl.com
ESKERRIK ASKO! ESKERRIK ASKO! ESKERRIK ASKO! 2 aste daramatzat beste webgune batzuetako pasahitz indarraren kodigo madarikatuarekin eta ilea ateratzen. Zurea laburra da, nahi dudan bezala funtzionatzen du eta onena da, erraza da javascript hasiberri batek aldatzea! Indarraren epaia jaso nahi nuen eta ez utzi inprimakia erabiltzailearen pasahitza eguneratzen benetan indartzen duen proba betetzen ez bazuen. Besteen kodea konplexuegia zen edo ez zuen ondo funtzionatzen edo beste zerbait. Maite zaitut! XXXXX
Ez horregatik! Ez horregatik! Ez horregatik!
Nik ere maite zaitut!
eskerrik asko Jainkoari kode zati bat behar bezala idatz dezaketen pertsonengatik.
Janisen esperientzia bera izan zuen.
Javascript kodea ezin duten ni bezalako jendearentzat ezin hobea da.
Eskerrik asko latan esaten duena zehazki egiten duen kode bat idazteagatik!
Kaixo, lehenik eta behin mila esker egindako ahaleginagatik, Asp.net-ekin erabiltzen saiatu nintzen baina ez nuen funtzionatzen, erabiltzen ari naiz
etiketaren ordez, eta ez du funtzionatu, iradokizunik ?!
Nisreen-era: nabarmendutako laukiko kodeak ez du ebakigarri batekin funtzionatzen. Aipu bakarra nahasita dago. Erakustaldiaren estekaren kodea ondo dago.
Aizu, zure gidoia gustatzen zait! Nederlanderara itzuli nuen, eta nire foroan argitaratu nuen hemen!
lan bikaina! zehazki nola egin behar zaion bezeroari
oso lan polita ....
Eskerrik asko Douglas, oraingo lanerako erabiltzen dut.
"P @ s $ w0rD" indartsu erakusten da, nahiz eta nahiko azkar pitzatuko litzateke diktarioen eraso batekin ...
Ezaugarri hori lanbide irtenbide batean hedatzeko, garrantzitsua dela uste dut algoritmo hau dibertsio kontrol batekin konbinatzea.
Oso ondo funtzionatzen du XULRunner-en inguruan apur bat aldatuta. Eskerrik asko!
Eskerrik asko kode txiki honengatik erabil dezaket orain nire pasahitzaren indarra probatzeko nire bisitariek beren pasahitzak sartzen dituztenean,
Kodetze zati bikaina
Gidoia oso ona zen. Gure oraingo proiektuan erabili nuen
Eskerrik asko partekatzea!
Beraz, adierazpen sinplea eta fantastikoa. Probatzaile gisa nire TCak esamolde honetatik atera nituen.
Eskerrik asko partekatzeagatik. Orrialde honetan esteka hautsi batzuk dituzu. FYI.
norbaitek esan dezake, zergatik ez zuen funtzionatu nireak ..
Kode guztia kopiatu nuen, eta Notepad ++-en itsatsi, baina ez du batere funtzionatzen?
lagundu mesedez..
Zoragarria !!!!! Eskerrik asko.
Lan bikaina! Sinplea eta eraginkorra. Mila esker partekatzeagatik!
eskerrik asko
Ona, thx. Baina ... Zer da PW INDAR baten adibidea? 'ezin dut aurkitu! - {}
"Indar kontrolatzailea" mota honek oso bide arriskutsutik eramaten du jendea. Karaktere aniztasuna pasaesaldi luzearen gainetik baloratzen du, pasahitz laburragoak eta askotarikoagoak baloratzen ditu, pasahitz luzeagoak eta hain anitzak baino indartsuagoak izan daitezen. Hori da zure erabiltzaileek arazoak sortuko dituena, hacking mehatxu larria izanez gero.
Ez nago ados, Jordan! Adibidea gidoiaren adibide gisa jarri zen. Jendearentzako gomendioa pasahitzak kudeatzeko tresna bat erabiltzea da, berarentzako bakarra den edozein gunetarako pasahitz independenteak sortzeko. Eskerrik asko!
esker bikaina da.
Eskerrik asko ondo funtzionatzea
Benetan eskertzen dut hau askotan bilatu izana, baina azkenean zure mezua jaso dut eta oso pozik nago. ESKERRIK ASKO
Eskerrik asko lagun. Nire webgunean zabaldu berri da eta oso ondo funtzionatzen du.
Maite hori entzutea! Ongi etorri!
Eskertzen dizut partekatzea! Gure webgunean pasahitzaren indarra hobetzen saiatu naiz eta honek nahi nuen moduan funtzionatu du. Eskerrik asko!
Eskerrik asko, espero duzun moduan pertsonalizatu ahal izatea.
Zuzeneko aurrezlea zara! Kateak ezkerretik eskuinera eta erdian aztertzen ari nintzen eta modu hobea dagoela pentsatu nuen eta zure kodea pieza aurkitu nuen Regex erabiliz. Nire webgunearekin gai izan nintzen ... Ez dakizu zenbateraino lagundu zuen. Mila esker Douglas !!
Primeran entzutea!