Är ingen fena på regexp och skulle gärna vilja ha hjälp med regexp för svenskt plus samt bankgiro BG borde bli något i stil med: Ett bankgironummer består av sju eller åtta siffror. Den sista siffran är en kontrollsiffra enligt 10-modul (samma som i svenska person- och organisationsnummer). Vad jag har hittat så verkar PlusGirokonto bestå av lägst två siffror och högst åtta siffror (x-x till xxx xx xx-x). Kontrollsiffran kan du inte räkna ut i regexp, men du kan få ut den separat. Ok tack Oskar, så principen blir att köra liknande personummer fast en för varje typ av bankgiro [citerat Patrik Olofsson Medlem:14246 www.pellesoft.se/communicate/forum/view.aspx?msgid=267449&forumid=63&sum=0#267472] <b>Vad jag har hittat så verkar PlusGirokonto bestå av lägst två siffror och högst åtta siffror (x-x till xxx xx xx-x).</b> Jag tycker inte om validering som tvingar mig att stoppa in bindestreck på något speciellt ställe när det inte fyller någon funktion. t.ex. pg/bg/personnummer/datum. Jag tackar för alla kommentarer men jag löser det i c# i ställetRegexp plusgiro och bankgiro
Denna länk förklarar 10-modul principen http://www.bgc.se/upload/Gemensamt/Trycksaker/Manualer/10-MODUL.pdfSv:Regexp plusgiro och bankgiro
<b>(?<BG>\d{3,4}-\d{4})</b>
PG borde bli något i stil med:
<b>(?<PG>\d{5,7}-\d{1})</b>
//JohannesSv: Regexp plusgiro och bankgiro
90-bankgironummer, bankgironummer för insamlingsändamål som står under uppsikt av Stiftelsen för insamlingskontroll, har alltid sju siffror inklusive kontrollsiffran och ingår i nummerserien 900-000x till 904-999x där x markerar kontrollsiffran.
DVS man vill även kolla så att checksumman stämmer.Sv:Regexp plusgiro och bankgiro
Sv: Regexp plusgiro och bankgiro
I princip så:
\d betyder att du vill matcha en siffra
{m, n} betyder att du vill matcha föregående "tecken" från m till n gånger
- matchar bara tecknet "-"
Sätter du paranteser runt någonting du vill matcha, t.ex. (\d{3,4}) så kommer du att få ut 3 eller 4 siffror i den variabelnSv:Regexp plusgiro och bankgiro
Personnummer: \b(?:19|20)?\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])[-+]?\d{4}\bSv: Regexp plusgiro och bankgiro
<b>> Ok tack Oskar, så principen blir att köra liknande personummer fast en för varje typ av bankgiro</b>
<b>> Personnummer: \b(?:19|20)?\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])[-+]?\d{4}\b</b>
Jag tror inte att du behöver så många varianter för bankgirot, nu vet jag iofs inte riktigt hur de ser ut, men.. Om jag inte minns fel så är det väl typ xxxx-xxxx eller något sådant? Aja, typ:
(\d{m,n})-(\d{o,p})(\d)
där m, n, o, p är min resp max antal siffror på det stället. Ut får du tre grupper med siffror; innan strecket, efter strecket exkl kontrollsiffra samt kontrollsiffra. Exakt vad m, n, o, p ska vara får du räkna ut själv för jag vet inte hur det ska vara :) Sen typ samma för pg.Sv: Regexp plusgiro och bankgiro
Kan nog stämma. På jobbet har jag stött på xx-x hos en kund/samarbetspartner. Någon trodde förstås att numret blivit fel inskrivet.
Prövade nyss x-x hos PlusGirot, http://www.plusgirot.se/763922.html, och fann pg 4-2, Sveriges Riksbank.Sv: Regexp plusgiro och bankgiro
Sv: Regexp plusgiro och bankgiro