---
title: "Regular Exp på nummer"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/79809-regular-exp-på-nummer"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "skyman"
published: "2003-06-16T06:52:02.000Z"
updated: "2003-06-16T14:19:51.000Z"
replies: 4
views: 204
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/php/79809-regular-exp-på-nummer"
---

# Regular Exp på nummer

## #1 — skyman, 2003-06-16T06:52Z

Hur gör jag för att kolla om det är ett telefonnummer?

Tack på förhand!

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

## #2 — Matte, 2003-06-16T09:07Z

Testa det här:

```
$number = "047 - 311 311";

// Och så kollar vi

$number = preg_replace("/\s/", "", $number);

if (preg_match("/^(\d{2,4}[\/-]?)?\d{5,8}$/", $number)) {
   echo "Alles Ok !";
}
```

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

## #3 — skyman, 2003-06-16T13:39Z

Så denna är inte korrekt?

```
$pattern = ereg("^([0-9]+)([-/]*)([0-9]*)$",$fax);
```

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

## #4 — Matte, 2003-06-16T14:08Z

Den gör ungefär samma sak. 

Regexpar med preg anses ändå vara lite snabbare än ereg.

Sen är de lite annorlunda uppbyggda. I min godkänns även telefonnummer utan riktnummer. Har du krav på riktnummer så blir det så här:

```
if (preg_match("/^\d{2,4}[\/-]?\d{5,8}$/", $number)) {
```

Skillnaden ligger då i att din ereg-sats säger: Ett eller flera tecken som är siffror, följt av noll eller flera skiljetecken som får vara - eller /, följt av ett eller flera tecken som är siffror.

I min justerade sats gör jag samma sak, med den skillnaden att jag begränsar det som är före skiljetecknet till mellan 2 och fyra tecken och det som är efter till fem till åtta tecken. En skillnad till är att jag säger att det får finnas max ett skiljetecken.

Sen har jag i min kod tagit bort eventuella mellanslag före jämförelse. Vill du inte godkänna dessa i din inmatning så tar du bort denna sats:

```
$number = preg_replace("/\s/", "", $number);
```

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

## #5 — skyman, 2003-06-16T14:19Z

Om det är snabbare så kör jag med det :)
Tack så mycket!

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

---

Tråden på webben: https://www.webforum.nu/amne/php/79809-regular-exp-på-nummer
