---
title: "Kontrollera org.nr"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/149796-kontrollera-org-nr"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "learn"
published: "2006-08-07T10:07:43.000Z"
updated: "2006-08-08T09:02:49.000Z"
replies: 10
views: 5868
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/149796-kontrollera-org-nr"
---

# Kontrollera org.nr

## #1 — learn, 2006-08-07T10:07Z

Hej alla!

Jag skulle vilja kunna testa ifall olika inmatade organisationsnummer är giltiga (personnummer/enskilda firmor skall inte godkännas). Hittade [detta script](http://www.jojoxx.net/jscript/archive/show.asp?id=84) men det är skrivet i javascript, jag vill gärna ha PHP (känns säkrare).

Någon som vet vart jag kan hitta ett sådant/vill översätta ovanstående till PHP åt mig??

Tack på förhand!   :bire

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

## #2 — learn, 2006-08-07T11:43Z

Någon som vet hur jag kan göra? :)

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

## #3 — stevenet, 2006-08-07T19:34Z

<http://www.phpcoded.com/?DO=viewCode&ID=17>

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

## #4 — seattlegrunge, 2006-08-07T23:22Z

> **stevenet skrev:**
>
> <http://www.phpcoded.com/?DO=viewCode&ID=17>

Med det scriptet du hänvisade till kollar man persnr/orgnr enskilda firmor, precis det Learn inte behövde :)

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

## #5 — learn, 2006-08-08T06:38Z

> **seattlegrunge skrev:**
>
> Med det scriptet du hänvisade till kollar man persnr/orgnr enskilda firmor, precis det Learn inte behövde :)

Precis. Dessutom tycker jag inte det såg så genomtänkt ut...

Någon?

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

## #6 — Lasp, 2006-08-08T07:37Z

Ett Test skall ju i det grundläggande kunna fungera både med och utan bindestreck i sjunde positionen. Så det går väl att använda ett bra personnrtest och komplettera med test av att de två första är 55 att tredej och fjärde är mer än 12 osv. Vilken typ av bolag skall kollas?

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

## #7 — The_Hulk, 2006-08-08T08:01Z

Här kommer ett förslag för översättning till PHP-kod
Med orginal koden

```php
<?php
function checkOrgNr($nr)
{
    //	this.valid=false;
    $valid = false;

    // 	if(!nr.match(/^(\d{1})(\d{5})\-(\d{4})$/)){ return false; }
    $match = array();
    if(!preg_match("/^(\d{1})(\d{5})\-(\d{4})$/", $nr, $match))
    {
        return false;
    }

	//this.group=RegExp.$1;
	$group = $match[1];

	//this.controldigits=RegExp.$3;
	$controldigits = $match[3];

	//this.alldigits=this.group+RegExp.$2+this.controldigits;
	$alldigits = $group . $match[2] . $controldigits;
	

	//if(this.alldigits.substring(2,3)<2){ return false }
	if(substr($alldigits, 2,1) < 2)
	{
	    return false;
	}
	
	//var nn="";
	$nn = "";
	
	//for(var n=0;n<this.alldigits.length;n++){ nn+=((((n+1)%2)+1)*this.alldigits.substring(n,n+1)); }
	for($n=0; $n < strlen($alldigits); ++$n)
	{
	    $nn .= (( (($n+1)%2) +1) * substr($alldigits, $n,1));
	}

	//this.checksum=0;
	$checksum = 0;
	
	//for(var n=0;n<nn.length;n++){ this.checksum+=nn.substring(n,n+1)*1; }
	for($n=0; $n < strlen($nn); ++$n)
	{
	    $checksum += substr($nn, $n, 1);
	}

	//this.valid=(this.checksum%10==0)?true:false;
	$valid = $checksum % 10 == 0;
	
	return $valid;
}

checkOrgNr('123456-7890');
?>
```

utan orginal koden

```php
<?php
function checkOrgNr($nr)
{
    $valid = false;
    $match = array();

    if(!preg_match("/^(\d{1})(\d{5})\-(\d{4})$/", $nr, $match))
    {
        return false;
    }

	$group = $match[1];
	$controldigits = $match[3];
	$alldigits = $group . $match[2] . $controldigits;

	if(substr($alldigits, 2,1) < 2)
	{
	    return false;
	}
	
	$nn = "";
	
	for($n=0; $n < strlen($alldigits); ++$n)
	{
	    $nn .= (( (($n+1)%2) +1) * substr($alldigits, $n,1));
	}

	$checksum = 0;
	
	for($n=0; $n < strlen($nn); ++$n)
	{
	    $checksum += substr($nn, $n, 1);
	}

	$valid = $checksum % 10 == 0;
	
	return $valid;
}

checkOrgNr('123456-7890');
?>
```

Man kan göra om koden lite mer men nu tog jag och översatte den mer eller mindre rakt av.

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

## #8 — learn, 2006-08-08T08:18Z

Lasp: Jag vill kolla aktiebolag, handelsbolag och ekonomiska föreningar.

The_Hulk: Tack! Är detta ett bra script, kan jag lita på att deet fungerar som det ska..? Jag vill ju inte att giltiga ab, hb eller ek blir nekade tillstånd... :)

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

## #9 — Nicrosoft, 2006-08-08T08:56Z

Från susning.nu  Kolla första och tredje siffran.

```
Organisationsnummer motsvarar personnummer 
för juridiska personer till skillnad från fysiska personer.
De kännetecknas av att den tredje siffran, första siffran
 i "månadsdelen", är större än eller lika med 2. 
Precis som personnummer har organisationsnummer
 en kontrollsiffra i slutet. Den sista siffran kan även 
den räknas ut med hjälp av algoritmen modulo 10. 
Se personnummer för mer info. 

Den första siffran i organisationsnumret anger vilken
 grupp av bolagsformer som den juridiska personen tillhör. 

Inledande siffra Bolagsform 
2 Stat, landsting eller kommun 
5 Aktiebolag 
7 Ekonomisk förening 
8 Stiftelse eller ideell förening 
9 Handelsbolag, kommanditbolag
```

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

## #10 — learn, 2006-08-08T08:58Z

Ok, och hur ska jag applicera dessa regler i koden? :)

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

## #11 — Nicrosoft, 2006-08-08T09:02Z

Det har jag ingen aning om  :) Ville bara tipsa om vilka nuffror som är vad. :)

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

---

Tråden på webben: https://www.webforum.nu/amne/php/149796-kontrollera-org-nr
