Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
-- det er sagtens muligt at udføre alle dine ønsker, men det meste er slave-arbejde, og det kan du vel selv lave ...
-- hvis dine select-bokse har et navn, skal jeg gerne lave rutinen, der tester om datoen giver en alder, der er over 18 år (bemærk, at der skal testtes på hele datoen, for en fra 1988 behøver jo ikke være over 18 !-)
Princippet i testen for indhold i et felt, og checket for tilstrækkelige tal ser sådan ud:
<script type="text/javascript"> function validering(f){ if(!f.fornavn.value.match(/^\w.{0,49}$/)){ alert('Du skal udfylde feltet med dit fornavn!'); f.fornavn.focus(); return false; }
//tilføj selv de andre felter, hvor der 'bare' skal være indhold !-)
if(f.tlfnr.value!=''&&!f.tlf.value.match(/^\d{8}$/)) { alert('Telefonnummer skal angives med 8 cifre!'); f.tlfnr.focus(); return false; }
//tilføj selv de andre felter, hvor der skal være et antal cifre !-)
if(!f.email.value.match(/^.*?@\w[\w\.-]*?\.[a-z]{2,6}$/){ alert('Emailadresse er ikke en gyldig mail-adresse!'); f.email.focus(); return false; } return true; } </script>
Ifølge den gældende standard for email-adresser (iflg. rfc 2821 for smtp, http://rfc.net/rfc2821.html#s2.3.10 !-) må mail-hosten selv bestemme, hvad der må eller skal stå foran @-tegnet, så det testes der slet ikke for i ovenstående, men ellers er det et must, at der står et @-tegn, derefter noget, som er et ordtegn, evt. noget mere gyldigt i et domæne-navn og til sidst et punktum efterfulgt af 2-6 bogstaver (det længste nugældende top-level-domæne hedder .museum !-)
-- alders-checket kan f.eks. se således ud:
var d = f.dag.value; var m = f.maaned.value; var a = f.aar.value; var dato = new Date(a, m-1, d); var nu = new Date(); if(dato.getFullYear() != a || dato.getMonth()+1 != m || dato.getDate() != d){ alert('Datoen er ikke en gyldig dato!'); f.dag.focus(); return false; } if(nu.getFullYear()-18<a || (nu.getFullYear()-18==a && nu.getMonth()+1<m) || (nu.getFullYear()-18==a && nu.getMonth()+1==m && nu.getDate()<d)){ alert('Du skal være over 18 for at deltage i denne konkurrence!'); f.dag.focus(); return false; }
Jo, men forskellene ligger kun i de landespecifikke karakterer, som vel næppe bliver udbredt hverken i dag eller imorgen !-)
-- og egentlig test af en mail-adresse kan kun foretages ved at sende noget til den og få noget retur, så det kan kun blive en grov-test, så der vil jeg selv være fuldt tilfreds !-)
>>roenving Fin forenkling af mit bud, men stil eller ej, så accepterer din /^.*?@\w[\w\.-]*?\.[a-z]{2,6}$/ altså uden videre "jkhgk@kjhgjh@noget.museum" - spørgsmålstegnet gør ingen forskel, da @ er inkluderet i '.'. Det er for resten alt for sjældent, at man hører nogen sige, "min er faktisk kortere", uden at rødme! ;-)
Arh, ja selvfølgelig...de landespecifikke karakterer kan jo ikke (går jeg ud fra) optræde i domæne navnet :)..tsk tsk...jeg smutter igen :)
Mvh. Johan
Synes godt om
Slettet bruger
21. januar 2006 - 15:53#23
Har lige et spørgsmål til dig roenving... Hvis man nu nøjes med at vælge dag + måned og undlader at vælge år kan den stadig godkendes... Kunne man ik lave en lille smart if sætning i bunden som tjecker at alle bokse har en værdi.
// Alderstjek herunder.
var d = t.dag.value; var m = t.maaned.value; var a = t.aar.value; var dato = new Date(a, m-1, d); var nu = new Date(); if(dato.getFullYear() != a || dato.getMonth()+1 != m || dato.getDate() != d){ alert('Datoen er ikke en gyldig dato!'); t.dag.focus(); return false; }
-- har de en tom foroven, for så kan du bare indsætte dette før det egentlige alderstjek:
if(t.dag.selectedIndex==0||t.maaned.selectedIndex==0||t.aar.selectedIndex==0){ alert('Du skal angive din fødselsdag for at deltage i denne konkurrence!'); t.dag.focus(); return false; }
Synes godt om
Slettet bruger
21. januar 2006 - 16:11#25
de 3 bokse har en start værdi... Dag, Måned, År...
Har prøvet med følgende men uden held.
if(t.dag.selectedIndex==Dag||t.maaned.selectedIndex==Måned||t.aar.selectedIndex==År){ alert('Du skal angive din fødselsdag for at deltage i denne konkurrence!'); t.dag.focus(); return false; }
-- og sæt i stedet årstallet til 2006 eller sæt en tom øverst !-)
Synes godt om
Slettet bruger
21. januar 2006 - 16:17#27
Ok det prøver jeg. Tak for hjælpen endnu engang. :-)
Synes godt om
Ny brugerNybegynder
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.