valfor

Valfor.js är ett bibliotek för att validera och formatera formulärsdata. Biblioteket är särskilt behjälpligt för att hantera forumlär där kunder anger data i en köpprocess, tex. i kassan på en e-handelssida.

Usage no npm install needed!

<script type="module">
  import valfor from 'https://cdn.skypack.dev/valfor';
</script>

README

valfor.js (v0.9)

Valfor.js är ett bibliotek för att validera och formatera formulärsdata. Biblioteket är särskilt behjälpligt för att hantera forumlär där kunder anger data i en köpprocess, tex. i kassan på en e-handelssida.

Användningsområden

Valfor.js kan användas i två syften; dels för att validera att forumlärsdata är giltig (korrekt) samt för att formatera datan i ett standardenligt format. Valfor.js har stöd för att validera följande typer av inmatad data:

Valfor.js kan också användas för att validera och formatera godtyckliga textsträngar, vilket är användbart för data som inte är standardiserad, tex. namn och adresser.

Installation

Webläsare

Du kan installera genom att använda bower:

$ bower install valfor

Sedan är det bara att inkludera:

<script src="valfor.min.js"></script>

Node.js

$ npm install --save valfor
var valfor = require('valfor');

Exempel på använding

Samtliga valideringsfunktioner returnerar inmatad data (med formatering) om datan valideras som giltig. I fall datan valideras som ogiltig returneras false.

Mobiltelefonnummer

Mobiltelefonnummer valideras enligt Post- & Telestyrelsens nummerplan för mobiltelefonitjänster. De svenska mobiltelefonitjänsterna inleds med prefixen 70, 72, 73, 76 och 79.

Mobiltelefonnummer vilka valideras som giltiga returneras formaterade. För att välja format på datan som returneras anges en sekundär parameter med följande värden:

  • valfor.NUMERICAL_FORMAT Numeriskt (standard), NNNNNNNNNN
  • valfor.INTERNATIONAL_FORMAT Internationellt E.164, +46NNNNNNNNN
  • valfor.NATIONAL_FORMAT Nationellt, NNN-NNN NN NN

Numerisk formatering

valfor.cellphonenum("0702112233"); // returnerar '0702112233'
valfor.cellphonenum("+460702112233"); // returnerar '0702112233'
valfor.cellphonenum("070-211 22 33"); // returnerar '0702112233'

Internationell formatering

valfor.cellphonenum("0702112233", valfor.INTERNATIONAL_FORMAT); // returnerar '+46702112233'
valfor.cellphonenum("+460702112233", valfor.INTERNATIONAL_FORMAT); // returnerar '+46702112233'
valfor.cellphonenum("070-211 22 33", valfor.INTERNATIONAL_FORMAT); // returnerar '+46702112233'

Nationell formatering

valfor.cellphonenum("0702112233", valfor.NATIONAL_FORMAT); // returnerar '070-211 22 33'
valfor.cellphonenum("+460702112233", valfor.NATIONAL_FORMAT); // returnerar '070-211 22 33'
valfor.cellphonenum("070-211 22 33", valfor.NATIONAL_FORMAT); // returnerar '070-211 22 33'

Ej giltiga telefonnummer (returnerar false)

valfor.cellphonenum("0710112233"); // returnerar false
valfor.cellphonenum("07021122"); // returnerar false
valfor.cellphonenum("0812345678"); // returnerar false

Personnummer

Personnummer valideras i enlighet med Folkbokföringslagen 1991:481, § 18 och SKV 704. Notera att personnummer med ett angivet födelseår större än det nuvarande kalenderåret valideras som ogiltiga.

Personnummer vilka valideras som giltiga returneras formaterade. För att välja format på datan som returneras anges en sekundär parameter som kan ha en kombination ab följande värden:

  • valfor.ADD_SEPARATOR, inkludera skiljetecken
  • valfor.NBR_DIGITS_10, 10 siffror
  • valfor.NBR_DIGITS_12, 12 siffror (standard)

*Skiljetecken är antingen "-" eller "+" beroende på om födelseåret inträffade för +100 år sedan.

Formatering på personnummer vilka valideras som giltiga

valfor.personalidnum("900101-5701", valfor.NBR_DIGITS_12); // returnerar '199001015701'
valfor.personalidnum("900101-5701", valfor.NBR_DIGITS_12 | valfor.ADD_SEPARATOR); // returnerar '19900101-5701'
valfor.personalidnum("900101-5701", valfor.NBR_DIGITS_10); // returnerar '9001015701'
valfor.personalidnum("900101-5701", valfor.NBR_DIGITS_10 | valfor.ADD_SEPARATOR); // returnerar '900101-5701'
valfor.personalidnum("100101+1145", valfor.NBR_DIGITS_12); // returnerar '191001011145'
valfor.personalidnum("191001011145", valfor.NBR_DIGITS_12 | valfor.ADD_SEPARATOR); // returnerar '19100101+1145'
valfor.personalidnum("191001011145", valfor.NBR_DIGITS_10 | valfor.ADD_SEPARATOR); // returnerar '100101+1145'

Ej giltiga personnummer (returnerar false)

valfor.personalidnum("900101-5705", valfor.NBR_DIGITS_12); // returnerar false (felaktig kontrollsiffra)
valfor.personalidnum("20900101-5701", valfor.NBR_DIGITS_12 | valfor.ADD_SEPARATOR); // returnerar false (ogiltig födelseår)
valfor.personalidnum("901301-5701", valfor.NBR_DIGITS_10); // returnerar false (ogiltigt födelsemånad)
valfor.personalidnum("900132-5701", valfor.NBR_DIGITS_10 | valfor.ADD_SEPARATOR); // returnerar false (ogiltigt födelsedag)

Samordningsnummer

Samordningsnummer valideras i enlighet med Folkbokföringslagen 1991:481, § 18 och SKV 707. Notera att samordningsnummer med ett angivet födelseår större än det nuvarande kalenderåret valideras som ogiltiga.

Organisationsnummer

Organisationsnummer valideras i enlighet med Lagen om identitetsbeteckning för juridiska personer (1974:174) och SKV 709.

Organisationsnummer vilka valideras som giltiga returneras formaterade. För att välja format på datan som returneras anges en sekundär parameter med följande värden:

  • valfor.ADD_SEPARATOR, inkludera skiljetecken
  • valfor.NBR_DIGITS_10, 10 siffror (standard)
  • valfor.NBR_DIGITS_12, 12 siffror
    valfor.orgidnum('555555-5555'); // returnerar '5555555555'
    valfor.orgidnum('555555-5555', valfor.ADD_SEPARATOR); // returnerar '555555-5555'

    valfor.orgidnum('555555-5555', valfor.NBR_DIGITS_10); // returnerar '5555555555'
    valfor.orgidnum('555555-5555', valfor.NBR_DIGITS_10 | valfor.ADD_SEPARATOR); // returnerar '555555-5555'

    valfor.orgidnum('555555-5555', valfor.NBR_DIGITS_12); // returnerar '165555555555'
    valfor.orgidnum('555555-5555', valfor.NBR_DIGITS_12 | valfor.ADD_SEPARATOR); // returnerar '16555555-5555'

    valfor.orgidnum('0710112233'); // returnerar false
    valfor.orgidnum('07021122'); // returnerar false
    valfor.orgidnum('0812345678'); // returnerar false

Postnummer

Postnummer valideras i enlighet med SS 613401:2011 och det Svenska Postnummersystemet.

Postnummer vilka valideras som giltiga returneras formaterade. För att välja format på datan som returneras anges en sekundär parameter med värde 1 till 3. De format som stöds är:

  • valfor.NUMERICAL_FORMAT Numeriskt (standard), NNNNN
  • valfor.NATIONAL_FORMAT Nationellt, NNN NN
  • valfor.INTERNATIONAL_FORMAT SE-NNN NN

Formatering av postnummer vilka valideras som giltiga

valfor.zipcode("54100", valfor.NUMERICAL_FORMAT); // returnerar '54100'
valfor.zipcode("54100", valfor.NATIONAL_FORMAT); // returnerar '541 00'
valfor.zipcode("54100", valfor.INTERNATIONAL_FORMAT); // returnerar 'SE-541 00'

Ej giltiga postnummer (returnerar false)

valfor.zipcode("00001", valfor.NUMERICAL_FORMAT); // returnerar false (ogiltigt värde)
valfor.zipcode("49152", valfor.NATIONAL_FORMAT); // returnerar false (ogiltig nummerserie)
valfor.zipcode("123", valfor.INTERNATIONAL_FORMAT); // returnerar false (ogiltigt längd)

Bankkortsnummer

Kontrollerar om ett bankkortsnummer är giltigt i enlighet med ISO/IEC 7812-1:2015.

E-postadress

asd

Text

asd

Licens

Valfor.js omfattas av licensformen MIT. Varsågod!