Avatar billede causasui Nybegynder
27. marts 2003 - 10:33 Der er 14 kommentarer og
2 løsninger

Validering af link

Jeg har en form hvori der af brugeren skal indtastes efter syntaksen: http://www.somewhere.dk
Jeg mangler en eregi funktion som kan validere for at der med sikkerhed er blevet indtastet: http://www men også gerne at der tjekkes for om linket har .dk eller .com eller .net osv..
Avatar billede krsk Nybegynder
27. marts 2003 - 10:36 #1
Det bedste er klart at du laver et regulært udtryk i javascript som validere dit input.

Her er et link: http://virtual.park.uga.edu/humcomp/perl/regex2a.html

Jeg ser lige om jeg finde et eksempel.
Avatar billede causasui Nybegynder
27. marts 2003 - 10:38 #2
->krsk
Men jeg vil gerne have det i php....
Avatar billede krsk Nybegynder
27. marts 2003 - 10:39 #3
Her er der en hel række af eksempler som du kan bruge.

http://www.regxlib.com/DisplayPatterns.aspx?cattabindex=1&categoryId=2

Det er lidt langhåret men det er den rigtige løsning.
Avatar billede krsk Nybegynder
27. marts 2003 - 10:40 #4
Sorry, men synes det er fjollet at lave noget på serveren som kan laves hurtigere og bedre på klienten.

Dvs. inden data bliver sendt til dit php script på serveren.
Avatar billede causasui Nybegynder
27. marts 2003 - 10:57 #5
->krsk
har fundet det her
Skal det skrives noget lign som det her:
!eregi("^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$)
Avatar billede krsk Nybegynder
27. marts 2003 - 11:11 #6
Nej :-)

Du skal oprette udtrykket først ved at:

re = new RegExp("^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$)

Herefter kan du bruge det i de forskellige funktioner knyttet til reg.ex.

Jeg vil tro at TEST() er nok til dig Den er her:

if (re.test([den streng du vil teste])=false eller true)

Her er en fyldig beskrivelse af hvordan arbejde med regulære udtryk (ca. ½ vejs nede)

http://developer.netscape.com/docs/manuals/communicator/jsguide4/expr.htm
Avatar billede xyborx Nybegynder
27. marts 2003 - 11:18 #7
<OffTopic>
"synes det er fjollet at lave noget på serveren som kan laves hurtigere og bedre på klienten" -> Gælder det også hvis klienten ikke kan JavaScript, Java, Flash, whatever eller bare har slået det fra? Det er jo lige netop det smarte ved at udføre checks på serveren. Så er man også mere sikker på at læseren ikke "by-passer" checket.
</OffTopic>
Avatar billede causasui Nybegynder
27. marts 2003 - 11:20 #8
->krsk
Det er altsammen fint, men jeg vil nu engang ha lavet det i php, selvom jeg senere hen muligvis laver validering i javascript også!!
Er der ikke nogen som kan rette denne her til:
if(!eregi("^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$)", $inst_link))
{
  $error5 = "&nbsp;&nbsp;<span class=\"alert\">skal udfyldes!</span>";
}
Avatar billede causasui Nybegynder
27. marts 2003 - 11:41 #9
Er der ikke nogen der kan gennemskue det??
Avatar billede krsk Nybegynder
27. marts 2003 - 11:45 #10
Xyborx---> Der er sådan set ikke noget til hindre for at gøre begge dele, min løsning er bare mere brugervenlig. Din løsning er server validering inden man evt. lagre det i en DB....og validering der er der vel ingen der lader være med :-)
Avatar billede causasui Nybegynder
27. marts 2003 - 11:47 #11
Hjææææælp
Avatar billede mikl-dk Nybegynder
27. marts 2003 - 11:48 #12
Husk lige, at et domæne godt kan være mere en 3 karakterer... Fx .info, .museum...
Avatar billede causasui Nybegynder
27. marts 2003 - 11:50 #13
->allesammen
Det her er hvad jeg kan formå at nå frem til, men den virker ikke, den melder ikke fejl, men validere blot ikke noget som helst, er der ikke nogen af jer der kan se hvad der er galt og evt. prøve at gi' et bud?
if(!eregi("^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$)", $inst_link))
{
  $error5 = "&nbsp;&nbsp;<span class=\"alert\">skal udfyldes!</span>";
}
Avatar billede xyborx Nybegynder
27. marts 2003 - 18:20 #14
Umiddelbart vil mit forslag til en URL validator være sådan:
if(!ereg('^https?\://[A-Za-z0-9\-]\.[A-Za-z0-9\.\-]+(/.+/?)?$',$inst_link))
{ echo ':P~'; }
.. men jeg er ikke ligefrem ekspert indenfor Reg.Exp., så jeg kan meget vel tage fejl ;)
Avatar billede causasui Nybegynder
25. januar 2007 - 23:06 #15
->xyborg smid lige et svar så deler jeg i to!!
Er ved at rydde op i mine ikke lukkede spørgsmål....
Avatar billede xyborx Nybegynder
25. januar 2007 - 23:59 #16
Det kan jeg godt, men jeg er nu lidt i tvivl om mit svar fungerer rigtigt. Desuden regner jeg med at lukke min bruger om et øjeblik, da jeg ikke bruger eksperten.dk mere.
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