Thread Info
Wer ist hier? 1 Gäste
PHP Regex (Passwortabfrage)
|
|
deusXmachina |
Geschrieben am 06.01.2010 00000001 16:46
|
![]() Neuling ![]() Beiträge: 3 Registriert am: 19.08.09 Fusioneer: 15 years 8 months 3 weeks 21 days 4 hours 22 minutes 10 seconds |
Hi, hab ein kleines Problem mit RegEx. Ich möchte, dass das eingegebene Passwort noch einmal in der update_profile_include.php ordentlich geprüft wird. Standardmäßg steht da folgende RegEx: [geshi=php]if (!preg_match("/^[0-9A-Z@]{6,20}$/i", $user_new_password)) { $error .= $locale['436']."<br />\n"; }[/geshi] Das besagt ja, dass er nur prüft, ob a-z, 0-9 und @ vorkommen. Ich möchte jedoch auch geprüft haben, dass auf jeden Fall mindestens EINE Zahl sowie EIN Buchstabe darin vorkommt! Ich probiere und probiere, komme jedoch per RegEx auf keinen grünen Zweig. Ich würds jetzt spontan (sicher unsauber) über den Weg machen, dass er den String auf [a-z] prüft, ob da mindestens 1 mal grün anschlägt und dasselbe dann bei [0-9]. Kommt der String durch diese Abfragen, so ist er gültig. Bitte helft mir, da passende Abfragen zu finden - ich bin leider mit meinem Latein am Ende.... :-( Gruß deusX Bearbeitet von deusXmachina am 06.01.2010 00000001 16:49 |
|
|
SC-Ad-Bot | Advertisement |
| |
slaughter |
Geschrieben am 06.01.2010 00000001 16:52
|
![]() Jung Mitglied ![]() Beiträge: 20 Registriert am: 28.12.09 Fusioneer: 15 years 4 months 1 weeks 12 days 12 hours 16 minutes 29 seconds |
Zitat Das besagt ja, dass er nur prüft, ob a-z, 0-9 und @ vorkommen. nicht ganz richtig, es wird geprüft, ob andere zeichen vorkommen als a-Z und 0-9, und falls andere vorkommen gibts eine Error-Message. Zitat Ich würds jetzt spontan (sicher unsauber) über den Weg machen, dass er den String auf [a-z] prüft, ob da mindestens 1 mal grün anschlägt und dasselbe dann bei [0-9]. Kommt der String durch diese Abfragen, so ist er gültig. Warum soll das unsauber sein? Meiner Meinung nach sogar ziemlich gut, denn dann kannst du eine genaue Fehler-Nachricht ausgeben. wie zB "fehler: in Ihrem Passwort ist keine Zahlr vorhanden. Bitte wählen Sie ein passwort, das eine Zahl enthält." Pimped PHP-Fusion: Multi-Language, SEO Url-Rewrite und viele andere verbesserungen (auch deine Ideen sind willkommen!)
|
|
|
deusXmachina |
Geschrieben am 06.01.2010 00000001 16:54
|
![]() Neuling ![]() Beiträge: 3 Registriert am: 19.08.09 Fusioneer: 15 years 8 months 3 weeks 21 days 4 hours 22 minutes 10 seconds |
Zitat slaughter schrieb: Warum soll das unsauber sein? Meiner Meinung nach sogar ziemlich gut, denn dann kannst du eine genaue Fehler-Nachricht ausgeben. wie zB "fehler: in Ihrem Passwort ist keine Zahlr vorhanden. Bitte wählen Sie ein passwort, das eine Zahl enthält." Wobei ich dann weiterhin bei meinem Problem bleibe: Ich finde einfach keine Lösung. ;-) Bei mir klappt es (fragwürdigerweise) so gut, dass er einfach NIX durchlässt. ;-) Ich muss anfügen: Ist es also möglich, in einem String zu prüfen, ob [a-z] mindestens 1 mal vorkommt? Und wenn: Ja - Bitte schreiben, wie das so geht. Bearbeitet von deusXmachina am 06.01.2010 00000001 16:56 |
|
|
slaughter |
Geschrieben am 06.01.2010 00000001 17:25
|
![]() Jung Mitglied ![]() Beiträge: 20 Registriert am: 28.12.09 Fusioneer: 15 years 4 months 1 weeks 12 days 12 hours 16 minutes 29 seconds |
Probier mal: Code Download Code if (preg_match("/[A-Z]$/i", $user_new_password)) { Pimped PHP-Fusion: Multi-Language, SEO Url-Rewrite und viele andere verbesserungen (auch deine Ideen sind willkommen!)
|
|
|
deusXmachina |
Geschrieben am 06.01.2010 00000001 17:42
|
![]() Neuling ![]() Beiträge: 3 Registriert am: 19.08.09 Fusioneer: 15 years 8 months 3 weeks 21 days 4 hours 22 minutes 10 seconds |
Danke! Ich weiß, woran es lag. Hatte die ganze Zeit das "^" davor! Danke sehr! Anmerkung! Das Dollar ($) muss bei der RegEx weg, sonst will er immer die Buchstaben AM ENDE der Zeichenkette haben! Bearbeitet von deusXmachina am 06.01.2010 00000001 18:09 |
|
|
slaughter |
Geschrieben am 06.01.2010 00000001 17:53
|
![]() Jung Mitglied ![]() Beiträge: 20 Registriert am: 28.12.09 Fusioneer: 15 years 4 months 1 weeks 12 days 12 hours 16 minutes 29 seconds |
kein problem ![]() Pimped PHP-Fusion: Multi-Language, SEO Url-Rewrite und viele andere verbesserungen (auch deine Ideen sind willkommen!)
|
|
Springe ins Forum: |