Wysłany: 2015-02-09, 14:53
PolskiSebek12
Programista
Wiek: 28 Na forum: 4347 dni Posty: 343
Nick w MP: CrosRoad95
Piwa : 3883
Witam
Jak zrobi? ?eby skrypt sprawdzi? czy w ha?le kt?re gracz wpisuje znajduje si? minimum 1 du?a litera i 1 cyfra ?
Wysłany: 2015-02-10, 13:24
luki123luki123
Place Game
Wiek: 28 Na forum: 5275 dni Posty: 1948
Nick w MP: LuKiO
Piwa : 6101
PolskiSebek12 , jezeli si? nie myle to to
string.format
Wysłany: 2015-02-10, 14:58
Tostuch
Wiek: 27 Na forum: 4931 dni Posty: 483
Nick w MP: Tost
Piwa : 137
Sprawdzasz poprzez string.find(string, znak) czy ma dany znak. Znaki wywo?asz funkcj? string.char(numerek). Poni?ej da?em Ci tablice z numerkami znak?w specjalnych odpowiednio podpisanych.
specjalne ={{ 33 , 47 }, { 58 , 64 }, { 91 , 96 }}
liczby = {{ 48 , 57 }}
wielkie = {{ 65 , 90 }}
Wysłany: 2015-02-11, 00:20
Wielebny
Wiek: 41 Na forum: 5499 dni Posty: 257
Nick w MP: Wielebny
Piwa : 1690
Panowie powy?ej - posty w stylu 'nie znam si? to si? wypowiem'.
Dzia?aj?ca implementacja poni?ej:
function czyHasloMaMaleLitery ( haslo )
return string . match ( haslo , "[a-z]" )
end
function czyHasloMaDuzeLitery ( haslo )
return string . match ( haslo , "[A-Z]" )
end
function czyHasloMaCyfry ( haslo )
return string . match ( haslo , "[0-9]" )
end
function czyHasloMaSymbole ( haslo )
return string . match ( haslo , "[^a-zA-Z0-9]" )
end
-- @return bool czydobre , string pow ? d
function sprawdzHaslo ( haslo )
if not haslo or string . len ( haslo )< 8 then
return false , "Has?o musi mie? conajmniej 8 znak?w."
end
if not czyHasloMaMaleLitery ( haslo ) then
return false , "Has?o musi mie? w sobie ma?e litery!"
end
if not czyHasloMaDuzeLitery ( haslo ) then
return false , "Has?o musi mie? w sobie du?e litery!"
end
if not czyHasloMaCyfry ( haslo ) then
return false , "Has?o musi mie? w sobie cyfry!"
end
if not czyHasloMaSymbole ( haslo ) then
return false , "Has?o musi mie? w sobie symbole!"
end
return true , "Has?o jest bezpieczne"
end
Kod nie obs?uguje polskich liter, tj. obs?uguje ale traktuje je jako symbole. Pierwsze 4 funkcje to funkcje sprawdzaj?ce dany scenariusz, ostatnia funkcja to przyk?ad jak te funkcje po??czy?. Zwraca dwa argumenty: true/false oraz kr?tki tekstowy opis.
Ostatnio zmieniony przez Wielebny 2015-02-12, 21:00, w całości zmieniany 1 raz
Wysłany: 2015-02-11, 18:21
luki123luki123
Place Game
Wiek: 28 Na forum: 5275 dni Posty: 1948
Nick w MP: LuKiO
Piwa : 6101
Wielebny , przy??cze si? do pytania. Jak sprawdzi? znaki specjalne jak # ?
Wysłany: 2015-02-11, 20:27
Wielebny
Wiek: 41 Na forum: 5499 dni Posty: 257
Nick w MP: Wielebny
Piwa : 1690
Wysłany: 2015-02-11, 21:21
MeeShuffle
Programista/Grafik
Wiek: 32 Na forum: 4394 dni Posty: 2758
Nick w MP: Shuffle
Piwa : 8575
"luki123luki123" napisał/a :Wielebny , przy??cze si? do pytania. Jak sprawdzi? znaki specjalne jak # ?
Mo?esz u?y? string.gsub do zniwelowania lub zwyczajnie string.find
Wysłany: 2015-02-12, 00:46
Tey
Wiek: 31 Na forum: 4876 dni Posty: 155
Nick w MP: l0nger
Piwa : 280
@UP: Funkcja s:gsub nie s?u?y do sprawdzania warto?ci w ci?gu znak?w.
Z tego co zrozumia?em z jego tre?ci, on chce sprawdzi? i zapewne wywali? komunikat.
@luki123luki: je?eli chcesz sprawdzi?, czy w ha?le podanym przez u?ytkownika znajduj? si? symbole u?yj tej funkcji.
function czyHasloMaSymbole ( haslo )
return string . match ( haslo , "[^a-zA-Z0-9]" ) -- poprawka sk ? adni
end
-- przyklad
local haslo = "#haselko123"
if czyHasloMaSymbole ( haslo ) then
print( "Haslo nie moze posiadac znakow specjalnych." )
end
-- have fun
@Wielebny: ma?a liter?wka w funkcji czyHasloMaSymbole .
Tagi: wymaganie :: trudnego :: hasła
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: