Avatar billede fagerli Nybegynder
27. september 2007 - 09:23 Der er 13 kommentarer og
1 løsning

tjek om der er intastede en vaild string

Hii,
Jeg sidder og skal lave en funktion som tjekker om  det input opflydler nogle for krav, så jeg vil høre om der var en som havde et bud.
krav for at kunne komme igennem er:
indeholde mindst 8 tegn, mindst et er tal og to er bogstaver og hvor mindst ét af bogstaverne er uppercase og mindst ét af bogstaverne er lowercase
Avatar billede erikjacobsen Ekspert
27. september 2007 - 10:05 #1
Du kan lege lidt med


  $p = "abs0JJccc";

  $len = strlen($p);
  $lc  = preg_match_all("/[a-z]/",$p,$dummy);
  $uc  = preg_match_all("/[A-Z]/",$p,$dummy);
  $cf  = preg_match_all("/[0-9]/",$p,$dummy);

  print "Length $len, small $lc, big $uc, digits $cf<br>";

  if ($len>=8 && $lc>=1 && $uc>=1 && $cf>=1) {
      print "OK<br>";
  } else {
      print "No<br>";
  }
Avatar billede fagerli Nybegynder
27. september 2007 - 10:10 #2
cool, det ser ud som det jeg skal bruge, har bare lige et spørgsmål, hvad gøre $dummy?
Avatar billede johan.o Nybegynder
27. september 2007 - 10:21 #3
Måske dette spørgsmål også kan hjælpe...

http://www.eksperten.dk/spm/798300

Mvh. Johan
Avatar billede fagerli Nybegynder
27. september 2007 - 10:44 #4
hmm, blev bare mere forvidret at det link :S så tog en søger på php.net, og fandt ud af at $p er variablen som skal tjekketes, og $dummy oprettet et array ? eller er jeg forkert på den anyway, da jeg kun har brugt noget fra erikjacobsen, vil jeg forslåg at han lige smider et svar :P
Avatar billede johan.o Nybegynder
27. september 2007 - 10:56 #5
..he he fint nok, det var blot fordi spørgsmålet lignede temmelig meget :)

Du har helt ret at $dummy er et array som dannes af preg_match_all funktionen. Det indeholder alle de dele af den streng der blev checket ($p) som passer på det udtryk der bruges...f.eks /[a-z]/. Men i det aktuelle eksempel er man ikke interesseret i _hvad_ indholdet er men blot _hvor mange_ gange udtrykket passede i strengen. Og preg_match_all returnere dette antal og det kan derfor findes i $lc variablen i ovenstående kode....så $dummy er...hvordan skal jeg side det....blot til pynt :)

Håber det hjalp og point stikker du bare til erikjacobsen.....hvis du kan få lov :)

Mvh. Johan
Avatar billede fagerli Nybegynder
27. september 2007 - 11:07 #6
oh :) vil så gerne dele dem lige imellem jer :) hvis det er ok med alle.
Avatar billede erikjacobsen Ekspert
27. september 2007 - 11:09 #7
Jeg samler slet ikke på point, tak.  Og retfærdigvis: man kan måske finde en hurtigere eller smartere løsning. Jeg kan godt at man stort set kan læse hvad der sker i mit forslag.
Avatar billede johan.o Nybegynder
27. september 2007 - 11:17 #8
He he..hvad sagde jeg :)....at jeg skulle tage point for dette spørgsmål vil vist være grænsende til frækt...mit eneste bidrag har været lidt forklaring af en andens kode...så luk du bare spørgsmålet selv fagerli, hvis du er tilfreds :)

erikjacobsen --> Får cirka 6 mdr. siden nævnte du at du arbejdede på noget med tekst oplæsning....har du evt. fået skrabet lidt links sammen om emnet man kunne kigge på ?

Mvh. Johan
Avatar billede johan.o Nybegynder
27. september 2007 - 11:20 #9
...og forresten så giver jeg erikjacobsen fuldstændig ret i hans betragtning omkring værdien af at kunne forstå hvad koden laver. Ofte kan det være uhyre besværligt at finde 'gammel' kode frem og skulle kigge den igennem hvis man har været super kreativ til at komprimere og optimere koden. Det kan til tider være at foretrække at koden tilmed er overskuelig og forståelig....selv om man ikke lige har kigget på den de sidste par år....blot en strøtanke...

Mvh. Johan
Avatar billede erikjacobsen Ekspert
27. september 2007 - 11:20 #10
Min korttidshukommelse er ikke så god, Johan... Men jeg har i hvert fald arbejdet med tilgængelig for websider, konkret nogle spørgsmål der skal besvares med fx multiple choice, hvor brugeren enten får siden læst op, eller får det på punktskrift, med deres egne værktøjer. Men det er ikke særligt spændende: man skal bare følge anvisningerne for tilgængelighed ;)
Avatar billede johan.o Nybegynder
27. september 2007 - 11:26 #11
Okay :)

....og håber at fagerli kan se gennem fingrene med at jeg 'hyggesnakker' i hans spørgsmål :)

Mvh. Johan
Avatar billede fagerli Nybegynder
27. september 2007 - 12:10 #12
hehe :) jamen hvis fair skal være fair, så skal i begge ha point, forbi som jeg ser det fik jeg koden af erikjacobsen, og forståesen for hvad der sker af johan.o, men det er helt op til jer :)
Avatar billede johan.o Nybegynder
27. september 2007 - 12:16 #13
Okay okay...nødtvunget smider jeg et svar :)

Mvh. Johan
Avatar billede johan.o Nybegynder
27. september 2007 - 12:46 #14
:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester