---
title: "reguljära uttryck och url:er"
type: "forum-thread"
url: "https://www.webforum.nu/amne/webbutveckling/142856-reguljära-uttryck-och-url-er"
topic: "Webbutveckling"
topic_url: "https://www.webforum.nu/amne/webbutveckling"
author: "adde"
published: "2006-02-22T17:11:32.000Z"
updated: "2006-02-23T20:32:52.000Z"
replies: 7
views: 568
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/webbutveckling/142856-reguljära-uttryck-och-url-er"
---

# reguljära uttryck och url:er

## #1 — adde, 2006-02-22T17:11Z

jag vill testa om urlen är gilltig:

$website = $\_POST\[website\];
if (preg_match("/^http\\:\\/\\/(\[a-zA-Z\]+\\.)?\[a-zA-Z0-9\\-\]\\.\[a-zA-Z\]{,4}$/",$website)){
echo "fungerar";
}else {
echo "fungerar inte";
}

skriver jag in en adress, exempelvis: <http://www.aftonbladet.se/>

så fungerar det inte, blir alltid fel!
Vad gör jag för fel???

Permalänk: https://www.webforum.nu/p/142856

## #2 — Peter S, 2006-02-22T18:16Z

I

```
[a-zA-Z0-9\-]\.
```

anger du att du endast vill matcha ett av dessa tecken.

Du menar att

```
[a-zA-Z]{,4}
```

skall vara det sista som matchas; i exemplet avslutas adressen med '/'.

Permalänk: https://www.webforum.nu/p/1770715

## #3 — sl0k, 2006-02-22T18:22Z

```php
preg_match("|^https?://[\w\.\-]+\.[a-z]{2,6}/?$|i", $website);
```

/red mindre justering.. hade missat att tillåta - och att upp till 6 tecken kunde ingå i toppdomänen.. se inlägg nedan

Permalänk: https://www.webforum.nu/p/1770719

## #4 — Peeer, 2006-02-22T20:59Z

Flyttas från PHP!

Permalänk: https://www.webforum.nu/p/1770788

## #5 — Csson, 2006-02-23T18:12Z

Utvecklar den lite så att det går att använda - i urlen. Det finns även ett par [TLDer](http://en.wikipedia.org/wiki/List_of_Internet_TLDs) som är längre än fyra bokstäver.

```php
preg_match("|^https?://(\w[-\w]*?\w\.)+[a-z]{2,6}/?$|i", $website);
```

Den fallerar ju även om någon anger en url som innehåller mer än enbart domänen, men det kanske är meningen.

Permalänk: https://www.webforum.nu/p/1771039

## #6 — sl0k, 2006-02-23T19:57Z

> **Csson skrev:**
>
> Utvecklar den lite så att det går att använda - i urlen. Det finns även ett par [TLDer](http://en.wikipedia.org/wiki/List_of_Internet_TLDs) som är längre än fyra bokstäver.
> 
>
>
> ```php
> preg_match("|^https?://(\w[-\w]*?\w\.)+[a-z]{2,6}/?$|i", $website);
> ```
>
> 
> Den fallerar ju även om någon anger en url som innehåller mer än enbart domänen, men det kanske är meningen.

hur menar du med att den fallerar om man anger mer än bara domänen ??
missade - i min.. o visste inte att det fanns topdomäner med fler än 4 bokstäver... 

tycker din variant verkar onödigt invecklad.. varför ens gruppera ihop dem ?

följande ... 

```php
 preg_match("|^https?://[\w\.\-]+\.[a-z]{2,6}/?$|i", $website);
```

fixar även - o med upp till 6 bokstäver i toppdomänen

Permalänk: https://www.webforum.nu/p/1771077

## #7 — Csson, 2006-02-23T20:16Z

> **sl0k skrev:**
>
> hur menar du med att den fallerar om man anger mer än bara domänen ??

Att <http://www.aftonbladet.se/sport/> inte matchas. Iofs bara att ta bort $, men antar att adde ville ha det så.

> **sl0k skrev:**
>
> tycker din variant verkar onödigt invecklad.. varför ens gruppera ihop dem ?

Beror på hur petig man vill vara.. - är iallafall inte giltig först och sist i domännamn vad jag vet. Om man inte är så petig spelar det ingen roll :).

Permalänk: https://www.webforum.nu/p/1771092

## #8 — sl0k, 2006-02-23T20:32Z

sant .. hehe .. tänkte inte så långt :)

```php
preg_match("|^https?://[\w\.\-]+\.[a-z]{2,6}(/[^\s]*)?$|i", $website);
```

matchar även tecken efter domänen.. där ganska många tecken är tilåtna ex ?&#= mfl..

Permalänk: https://www.webforum.nu/p/1771099

---

Tråden på webben: https://www.webforum.nu/amne/webbutveckling/142856-reguljära-uttryck-och-url-er
