Avatar billede Slettet bruger
28. april 2003 - 17:05 Der er 6 kommentarer og
1 løsning

Hjælp med et lille script

Hejsa

Jeg har en variable som hedder $domain, jeg vil så gerne have et lille script som tjekke domainet for de regler som DK-hostmaster har til et dk domain.

$domain er kun der der stå før .dk så dette skal der IKKE fjernes først.

Her er reglerne fra DK-hostmaster:
Domænenavne under det danske top level domæne .dk kan indeholde bogstaverne fra og med a til og med z og/eller tallene fra og med 0 til og med 9 med mulighed for adskillelse med bindestreg(er) og med et karakterantal fra og med 1 til og med 63 og efterfulgt af ".dk".

Et domænenavn kan ikke indeholde bindestreger både som 3. og 4. karakter.

Den skal så returer en fejl, hvis den ikke er lovlig.
Avatar billede jakobdo Ekspert
28. april 2003 - 17:52 #1
Du skal arbejde med regular expressions...

Tror måske funktionen kan hedde REGEXP

Men jeg kunne forstille mig at den ville se sådan her ud:

([a-z]|[0-9])*.dk

Ved så ikke helt hvordan du vil lave det med længden!
Work around kunne være at checke længden af strengen først!

if (len($domain)) > 66) // Tester om strengen er længere end 63 + .dk
  echo "FEJL";
else
{
  regexp($domain);
  funktion, script ($domain); // Her gør du så hvad du vil...
}
Avatar billede Slettet bruger
28. april 2003 - 18:31 #2
Okay, men man må jo også gerne have bindestreg med i et domain
Avatar billede mishief Nybegynder
28. april 2003 - 19:43 #3
function valid_domain($domain){
if(strlen($domain) > 66){
print "For mange tegn i domaenenavnet".$domain;
}
if(!eregi([a-z]|[0-9]*.dk, $domain){
print "Ugyldige tegn";
}
if(!eregi(^[a-z]|_){
print "ugyldigt tegn i starten af domainenavnet";
}
}
Ville jeg mene...
Avatar billede Slettet bruger
28. april 2003 - 19:53 #4
Okay, mishief: men må den så godt indeholde bindestreg ??? Syntes ikke rigtig jeg kan se det
Avatar billede schaefner Juniormester
28. april 2003 - 19:55 #5
<?php
$domain = "domaene";
if(eregi("^[a-z0-9-]{1,63}$",$domain)) {
    echo "Korrekt";
} else{
    echo "Forkert";
}
?>
Avatar billede schaefner Juniormester
28. april 2003 - 19:57 #6
Det eneste der mangler er at den tjekker at der ikke er to bindestreger ved siden af hinanden.
Avatar billede sostack Nybegynder
29. april 2003 - 09:34 #7
Med check for 2 bindestreger:

<?php
$domain = "domaene";
if(eregi("^[a-z.0-9-]{1,63}$",$domain) && !stristr( $domain, "--")) {
    echo "Korrekt";
} else{
    echo "Forkert";
}
?>

//sostack
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