---
title: "Regexp pattern modulus7"
type: "forum-thread"
url: "https://www.webforum.nu/amne/webbutveckling/137196-regexp-pattern-modulus7"
topic: "Webbutveckling"
topic_url: "https://www.webforum.nu/amne/webbutveckling"
author: "Bjuris"
published: "2005-11-08T15:35:45.000Z"
updated: "2005-11-11T20:26:16.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/137196-regexp-pattern-modulus7"
---

# Regexp pattern modulus7

## #1 — Bjuris, 2005-11-08T15:35Z

Antagligen är inte detta rätt forum, men förlåt mig i så fall ;)  

Jag håller på och försöker skapa ett pattern för en fraktsedel dvs:
123-12345675

tre siffror först som ett prefix.

Det jag har problem med är de åtta andra siffrorna, det är nämligen så att dem består först av 7 valfria siffror och sedan en kontrollsiffra.
För att det skall vara ett giltigt fraktsedelsnummer så kontrolleras den åttonde siffran med modulus 7.

ex:
1234567
Modulus på 12345675 blir 5
således blir fraktsedelsnummret 12345675 + prefix i början.

Hur skall jag lösa detta i regExp?

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

## #2 — renholm, 2005-11-08T16:46Z

Flyttas från ASP.NET

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

## #3 — Peter S, 2005-11-08T17:35Z

Typ så här:

```
dim m as match = regex.match(str, "\d{3}\-(\d{7})(\d)")

if m.success then
  dim n as integer = convert.toint32(m.groups(1).tostring())
  dim c as integer = convert.toint32(m.groups(2).tostring())

  if n % 7 = c then
    ' Allt verkar stämma!
  else
    ' Kontrollsiffran stämmer ej
  end if
else
  ' Felaktigt data inmatat
end if
```

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

## #4 — Bjuris, 2005-11-11T07:24Z

Problemet är att det inte alltid är en 5:a i slutet, utan den använder sig av modulus på de sju första siffrorna, så det kommer att variera från 1-7 (tror jag)

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

## #5 — emission, 2005-11-11T08:37Z

Menar du att det ska vara

if n % 7 = c then

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

## #6 — Bjuris, 2005-11-11T08:51Z

Nu är jag lite bortkollrad.
% = modulus ??

Jag skrev förövrigt fel på den översta modulus förklaringen
mod(1234567) = 5
ej: mod(1234567**5**) = 5 --\> det blir något helt annat

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

## #7 — Peter S, 2005-11-11T13:57Z

Då borde emissions rättelse av mig fungera. Om inte får du förklara vad som skall stå till höger om modulusoperatorn. Är det den sjunda siffran t.ex?

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

## #8 — emission, 2005-11-11T20:26Z

> **Bjuris skrev:**
>
> Nu är jag lite bortkollrad.
> % = modulus ?

Nej, det är alldeles riktigt. Skulle bara kolla att du var vaken.... :)

Modulus skrivs ju "Mod" i VB.....

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

---

Tråden på webben: https://www.webforum.nu/amne/webbutveckling/137196-regexp-pattern-modulus7
