Avatar billede ingeman Seniormester
04. januar 2004 - 11:35 Der er 14 kommentarer og
1 løsning

Check om link eksisterer

jeg skal indtase en masse links i en database - jeg mangler
en function som checker om det indtastede link eksisterer.
Avatar billede mm12010 Nybegynder
04. januar 2004 - 11:40 #1
i asp: http://www.eksperten.dk/spm/387473

function verifyURL(str){
    if(!str.match(/(^((http\:\/\/|https\:\/\/|ftp\:\/\/|www\.)[a-z0-9]+)[a-z0-9\-\.]+\.[a-z0-9]{2,5}(:[a-z0-9]*)?\/?([a-z0-9\-\._\?\,\'\/\\\+&%\$#\=~])*)/i)){
        return false;
        }
    else{
        return true;
        }
    }
Avatar billede mm12010 Nybegynder
04. januar 2004 - 11:41 #2
Avatar billede mm12010 Nybegynder
04. januar 2004 - 11:42 #3
Avatar billede thesurfer Nybegynder
04. januar 2004 - 12:11 #4
Du er i JavaScript kategorien.. skal det være i JavaScript?
Jeg tror ikke at man kan gøre det direkte, men her er en alternativ måde..
Linket loades i en skjult (meget lille, 1x1) iframe. Derefter checker du indholdet af iframen, og søger efter f.eks. "404", eller ligende.
Som du nok kan regne ud, virker scriptet ikke hvis server ikke skriver "404", men noget andet..

Det script mm12010 har skrevet, checker ikke om linket eksisterer. Det checker kun om linket er gyldigt.
F.eks:
http://www.yeehaaa.dk/denne_side_eksisterer_ikke.htm
Linket er gyldigt (ifølge mm12010s script), men eksisterer ikke.

Så du skal nok ha' fat i ASP eller PHP..
Avatar billede ingeman Seniormester
04. januar 2004 - 12:12 #5
Lidt hjælp til at gøre den færdig ?

<html>
<head>
<script language="javascript">
function verifyURL(str){
    if(!str.match(/(^((http\:\/\/|https\:\/\/|ftp\:\/\/|www\.)[a-z0-9]+)[a-z0-9\-\.]+\.[a-z0-9]{2,5}(:[a-z0-9]*)?\/?([a-z0-9\-\._\?\,\'\/\\\+&%\$#\=~])*)/i)){
        alert("Fejl i link");
        return false;
        }
    else{
        return true;
        }
    }
</script>

 

</head>


<form method=Post action=""  OnSubmit="return verifyURL(this);">

<Input type="email" name="email" Value=""><input type=button  Value="test"  OnSubmit="return verifyURL(this);">
</form>
</html>
Avatar billede thesurfer Nybegynder
04. januar 2004 - 12:19 #6
<html>
<head>
<script language="javascript">
function verifyURL(str){
    if(!str.match(/(^((http\:\/\/|https\:\/\/|ftp\:\/\/|www\.)[a-z0-9]+)[a-z0-9\-\.]+\.[a-z0-9]{2,5}(:[a-z0-9]*)?\/?([a-z0-9\-\._\?\,\'\/\\\+&%\$#\=~])*)/i)){
        alert("Fejl i link");
        return false;
        }
    else{
        return true;
        }
    }
</script>

</head>
<body>

<form name="frmLink" method=Post action="" onsubmit="return verifyURL(document.frmLink.email.value);">
<input type="text" name="email" Value="">
<input type="submit"  Value="test">
</form>

</body>
</html>
Avatar billede ingeman Seniormester
04. januar 2004 - 12:30 #7
Den giver ingen fejl ?
Avatar billede thesurfer Nybegynder
04. januar 2004 - 12:33 #8
Hvad mener du?
Det virker fint hos mig.. denne del skal stå på 1 linie:
<form name="frmLink" method=Post action="" onsubmit="return verifyURL(document.frmLink.email.value);">
Avatar billede ingeman Seniormester
04. januar 2004 - 12:44 #9
Jeg har klippet din kode ud og brugt - jeg har prøvet at undtast feks.
www.webadr.dk  - men får ingen fejl ?
Avatar billede thesurfer Nybegynder
04. januar 2004 - 12:47 #10
Det er fordi www.. er gyldigt ifølge mm12010s regler mht urls.
Avatar billede ingeman Seniormester
04. januar 2004 - 12:51 #11
Det jeg efterlyser er at den URL jeg indtaster virkelig eksisterer ud på
nettet og er ikke et dødt link ?
Avatar billede thesurfer Nybegynder
04. januar 2004 - 12:53 #12
Det kan du ikke bruge det her script til.. den checker kun om urlen er på det rigtigt format..
Hvis du ikke vil ha' at den accepterer "www.." som gyldigt, skal du fjerne "|www\." fra reglen.

Det du vil ha', kan du vist ikke gøre med JavaScript.. du skal så vælge ASP, PHP eller iframe metoden, som jeg beskrev i mit første indlæg.
Avatar billede ingeman Seniormester
04. januar 2004 - 12:57 #13
iframe ? - Asp ? - hvordan skal det  så se ud ?
Avatar billede ingeman Seniormester
04. januar 2004 - 13:04 #14
jeg lukker det her og prøver i katagorien ASP
Avatar billede thesurfer Nybegynder
04. januar 2004 - 13:05 #15
Kig lige på det link mm gav (ASP): http://www.eksperten.dk/spm/387473
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