---
title: "preg_match problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/87996-preg-match-problem"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Qimen"
published: "2003-10-08T14:58:18.000Z"
updated: "2003-11-11T18:14:56.000Z"
replies: 7
views: 409
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/87996-preg-match-problem"
---

# preg_match problem

## #1 — Qimen, 2003-10-08T14:58Z

Jag försöker med en funktion i min klass kolla om en e-post adress är godkänd. 

```php
	function valid_value_2($string)
    {
        return (bool)preg_match('/(^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+([a-z]{2,3}$)', $string);	
    }
```

Sedan i funktionen där jag vill använda den försöker jag köra med: 

```php
		if (!$this->valid_value($username) || !$this->valid_value_2($email))
return false;
```

Jag har en annan funktion som kollar användarnamnet och den funkar redan. Problemmet med den andra är att den inte ger något fel men den avbryter ändå. Någon som ser något fel?

btw, nu när jag ändå frågar. Kan man "bygga ihop" mina två funktioner valid_value och valid_value2 till en men så att de ändå gör rätt?
valid_value ser ut så här: 

```php
    function valid_value($string)
    {
        return (bool)preg_match('/(^[a-zåäöA-ZÅÄÖ0-9_-]{4,32}$)/i', $string);
    }
```

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

## #2 — Peeer, 2003-10-08T15:25Z

Re: preg_match problem

```php
function valid_value($string,$value)
{
	switch($value){
		case 1:
			return (bool)preg_match('/(^[a-zåäöA-ZÅÄÖ0-9_-]{4,32}$)/i', $string); 
			break;
		case 2:
			return (bool)preg_match('/(^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+([a-z]{2,3}$)', $string);    
			break;
		default:
			return false;
	}
}

if (!$this->valid_value($username,1) or !$this->valid_value($email,2))
	return false;
```

Kanske?

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

## #3 — Qimen, 2003-10-08T15:43Z

Funkar fortfarande inte :(

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

## #4 — Qimen, 2003-10-08T15:51Z

Jag fick lösa e-postbiten med eregi istället. Då funkar det.

```php
	function valid_value($string,$value)
	{
    	switch($value){
        	case 1:
           		return (bool)preg_match('/(^[a-zåäöA-ZÅÄÖ0-9_-]{4,32}$)/i', $string); 
            	break;
        	case 2:
            	return (bool)eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+([a-z]{2,3}$)", $string);
            	break;
        	default:
            	return false;
    	}
	}
```

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

## #5 — pongo, 2003-10-08T17:02Z

Detta skall fungera:

```php
return (bool)preg_match('/^([_.0-9a-z-])+@([0-9a-z][0-9a-z-]+.)+([a-z]{2,3}$)/', $string);
```

Du hade missat: / i slutet av regex, en avslutande parantes samt att Du hade satt ^ innanför första parantesen.

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

## #6 — WiZzLeR, 2003-11-09T14:54Z

om 

```php
function valid_value($string)
    {
        return (bool)preg_match('/(^[a-zåäöA-ZÅÄÖ0-9_-]{4,32}$)/i', $string);
    }
```

 är ogiltigt. hur gör jag ett error meddelande till det?

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

## #7 — Matte, 2003-11-09T18:43Z

Är det något sånt här du menar ?

```php
if ( !valid_value("en sträng") ) {
   echo "Ett felmeddelande";
}
```

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

## #8 — WiZzLeR, 2003-11-11T18:14Z

ajuste =)

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

---

Tråden på webben: https://www.webforum.nu/amne/php/87996-preg-match-problem
