Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Høgskolen i Oslo Web-programmering Stringmanipulasjon, RegEx og validering.

Liknende presentasjoner


Presentasjon om: "Høgskolen i Oslo Web-programmering Stringmanipulasjon, RegEx og validering."— Utskrift av presentasjonen:

1 Høgskolen i Oslo Web-programmering Stringmanipulasjon, RegEx og validering

2 I dag l Strengmanipulering l RegEx l Validering l Kodegjennomgang l Oppgaveløsning på lab.

3 Innebygde stringfunksjoner $antall_tegn = strlen($tekst); $antall_ord = str_word_count($tekst); $antall_ord_dag = substr_count($tekst,"dag"); $smaa_bokstaver = strtolower($tekst); $store_bokstaver = strtoupper($tekst); $baklengs = strrev($tekst); $lengde = strlen($tekst);

4 Innebygde stringfunksjoner forts $tall = strcasecmp($tekst1,$tekst2); Sammenligner tekst1 og tekst2 ikke case sensitivt. Returnerer 0 dersom de er like. Eks: $e-post1 = $e-post2 = ” if(!strcasecmp($e-post1,$epost-2) { echo ”Samme epostadresse!”; }

5 Innebygde stringfunksjoner forts $tekst = nl2br ($tekst); Konverterer \n til. Brukes når f.eks en fil skal vises på skjermen. Eks: $tekst = ”Dette er første linje\n\r Dette er andre linje”; $resTekst = nl2br($tekst); Dette er første linje Dette er andre linje

6 Innebygde stringfunksjoner forts $tekst = strip_tags ($tekst); Tar vekk evt. HTML tag’er i en tekst. Eks: $tekst = ”E-post: ”; $restekst =strip_tags($tekst); echo $restekst; E-post:

7 Innebygde stringfunksjoner forts $posisjontekst = strpos ($høystakk, $nål); Finner posisjonen i strengen $høystakk der $nål starter. Returnerer FALSE dersom $nål ikke finnes. (Case sensitivt!) Eks: $tekst = ”E-post: ”; $pos =strpos($tekst,”Href”); echo $pos; 10

8 Innebygde stringfunksjoner forts $tekst = str_replace ($subTekst,$subTekstTil,$tekst); Bytter $subTekst med $subTekstTil i $tekst dersom denne finnes. Eks: $tekst = ”E-post: ”; $resTekst echo $resTekst; E-post: per(a)hio.no Ikke helt riktig da html-tagene ikke vil vises

9 Innebygde stringfunksjoner forts $tekst = strstr ($høystakk, $nål); Returnerer resten av høystakken fra nålen. Eks: $tekst = ”E-post: ”; $resTekst echo Ikke helt riktig da html-tagene ikke vil vises

10 Innebygde stringfunksjoner forts $tekst = substr ($tekst, $start,$lengde); Returnerer resten av $tekst fra startposisjonen $start. $lengde kan sløyfes. Eks: $tekst = ”E-post: ”; $resTekst =substr($tekst, 23,10 ); echo $resTekst;

11 Validering l Må sikre at det som skrives inn i HTML skjema gir mening l F.eks –En alder er større enn null –Et telefonnr består bare av tall –At det er skrevet noe inn i obligatoriske felt –At et kredittkortnr er gyldig –At et navn-felt har maks 20 tegn –At et postnr består av 4 siffer

12 Validering forts. l Validering bør skje både på kilent og server l Server-validering gjøres i PHP l Klient-validering i Java script (tas senere) l For å sjekke om et felt inneholder noe : if ($_REQUEST[”navn”]==””) { echo ”Navn må oppgis”; }

13 Validering med RegEx l For å sjekke at navnet bare inneholder bokstaver og er maks 20 tegn $navn = "Per Hansen"; if(!preg_match(”/^[a-åA-Å ]{2,20}$/",$navn)) { echo "Navnet er mellom 2 og 20 tegn og inneholder store og små bokstaver i tillegg til mellomrom"; } else { echo "Navnet er feil"; } Funksjonen ereg kommer til å fases ut av PHP, bruk denne med forsiktighet

14 RegEx l Bruk funksjonen preg_match(”/regex/”,$tekst); l Returnerer true/false l Regex-tegn eks: ^ Start på streng $ Stopp streng [123] Tillat 1 eller 2 eller 3 [1-9] Tillat alle tall mellom 1 og 9 [abAB] Tilllat a eller b eller A eller B [ab][12] Tillat a eller b som første tegn, 1 eller 2 som andre ereg(”regex”,$tekst)

15 RegEx forts. /^[1-9][a-å][A-Å]$/ Tre tegn, første 1-9, andre a-å, tredje A-Å /^[1-9a-åA-Å]$/ Ett tegn 1-9 eller a-å eller A-Å /^[1-9a-åA-Å]{5}$/ 5 tegn, vert av dem 1-9 eller a-å eller A-Å /^[1-9a-åA-Å]{2,20}$/ Mellom 2 og 20 tegn (som over) /^[1-9a-åA-Å.]{2,20}$/ Som over inkludert mellomrom og punkt /^[0-9]{4}$/ Norsk postnr /^[0-9]{8}$/ Norsk telefonnr /^[+][4][7][0-9]{8}$/ Norsk telefonnr med + 47 foran Epostadresse /^((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7][\d\s-]{15}$/ Kredittkort Søk deg frem på nettet til mere komplekse RegEx Feks: Ett antall ganger


Laste ned ppt "Høgskolen i Oslo Web-programmering Stringmanipulasjon, RegEx og validering."

Liknende presentasjoner


Annonser fra Google