Hvem glor – din bror Den ikke-så-personlige blog af Bjørn Klinggaard

16maj/091

Validering af e-mail adresser

Når jeg udvikler software eller websider, arbejder jeg ofte med formular, hvorfor der forekommer input felter, som en bruger skal udfylde. For at sikre sin data, så det er mest brugbart og korrekt, er det altid en god skik at lave validering. Uden validering kan man risikerer at dataene bliver ubrugelig og dermed værdiløse. Ofte er valideringen simpel i form af tjek om et givet felt er udfyldt eller om det er den korrekte datatype. Men når vi snakker e-mail adresser, er det lidt mere kompliceret. En korrekt e-mail adresse består af en række regler:

Starter med minimum et tegn efterfulgt af et snabel a, hvor der så igen er minimum et tegn efterfulgt af en prik. Sidste men ikke mindst defineres domænetypen, som er på minimum 2 bogstaver fx dk, de etc.

En nem måde at håndtere en række regler for en tekststreng er ved at bruge Regular Expression. Et regulært udtryk er en tekststreng, som beskriver en mængde af tekststrenge og som overholder syntaksen for opstilling af det regulære udtryk. Så for at kunne validere en e-mail adresse vil jeg lave et regulært udtryk:

(/^.*?@\w[\w.-]*\.[a-z]{2,4}$/i)

Overstående giver måske ikke så meget mening, hvis man ikke kender til regulære udtryk, så jeg vil anbefale, at man læser om det på nettet [1][2][3]. Men jeg vil selvfølgelig ikke snyde jer for en forklaring af overstående udtryk.

^ : Starten af strengen.
.* : 0 eller flere tegn.
? : Non greedy (dvs. match mindst mulige tegn i stedet for flest mulige, 0 eller 1 gange).
@ : Et ”@”
\w : Et tegn a-z, A-Z eller 0-9 og ”_”
[\w.-]* : 0 eller flere tegn, som er a-z, A-Z eller 0-9, foruden ”.” eller ”-”
\. : Et ”.”
[a-z]{2,4} : 2-4 tegn af typen a-z. For eventuelt at fremtidsikre sine e-mail adresser kan man sætte max antal tegn op.
$ : Slutningen på strengen.
i : ”ignore case”, ingen forskel på store og små bogstaver.

14maj/091

Test din side i forskellige browsere

Et almindeligt problem når man designer hjemmesider er, at få dem til at se ud som man ønsker i alle browsere ens målgruppe måtte benytte. En af de vigtigste ting i kampen for ensartet design uafhængigt af browser og god kode er, at følge w3c's standarder [link til w3c validator]. Desværre er det ikke altid nok. Nogle browsere følger ikke standarderne 100%, og der er stadig brugere af Internettet, der kan finde på at bruge en forældet browser som Internet Explorer 6, IE6.

Heldigvis findes der en række gratis værktøjer, der gør det muligt at teste sit design i de forskellige browsere. Nogle er online, hvor andre skal installeres på computeren:

Browsershots.org
En hjemmeside der gør det muligt at teste sine sider i alverdens kombinationer mellem browsere, operativsystemer og ekstra indstillinger. De ekstra indstillinger består af skærm størrelse, farve dybde og om javascript, java eller flash skal være aktiveret eller deaktiveret.
Værktøjet kan ikke bruges lokalt, men kun online. Man indtaster en url og vælger de browsere samt operativsystemer, der skal testes i. Herefter loader programmet din url i de forskellige browsere og tager et screenprint af siden. Værktøjet kræver en smule tålmodighed, da der kan forkomme ventetid på resultatet.

IE NetRenderer
Ligesom browsershots.org er dette et online værktøj til at se sine sider i forskellige browsere. Dog kan der kun vælges mellem forskellige versioner af IE ned til version 5.5. Testen renderer med det samme, og er derfor et godt alternativ til browsershots, hvis man kun skal teste IE.

Multiple versions of IE
Et program udviklet af TredoSoft, som hjælper dig med at installere flere versioner af IE på en gang. Her kan du teste dine sider online såvel som lokalt.

IETester
Et program udviklet af My DebugBar, som kan vise dine sider i IE ned til version 5.5. Programmet gør det mulig nemt og hurtigt at skifte mellem de forskellige browsere både lokalt samt online. GUI mæssigt er programmet nok det flottest og det fungere ok, dog skal man stadig tænke på, at det er et alpha release, hvorfor fejl kan opstå. Ligeledes har det stadig nogle begrænsninger, fx kan der forekomme problemer med visning af flashelementernår man tester i IE 6.

MS Expression Web SuperPreview
Microsofts eget værktøj til at teste sine designs i forskellige IE versioner. Værktøjet viser dit design i IE 6 og IE 7 eller IE 8, afhængigt af hvilken version du har installeret på computeren. Du kan se siderne ved siden af hinanden eller ovenpå hinanden, og programmet giver dig nogle værktøjer, der kan identificere forskelle helt ned til pixelniveau.