forked from jop-io/kontonummer.js
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathkontonummer.min.js
More file actions
1 lines (1 loc) · 3.53 KB
/
kontonummer.min.js
File metadata and controls
1 lines (1 loc) · 3.53 KB
1
!function(e,n){"use strict";e.kontonummer=function(e){if("string"!=typeof e)return console.error("Input accout number must be a string"),!1;var n,m,a=e.replace(/\D/g,""),r=[{name:"Svea Bank",type:1,comment:2,regex:/^966[0-9]{8}$/},{name:"Avanza Bank",type:1,comment:2,regex:/^95[5-6][0-9]{8}$/},{name:"BlueStep Finans",type:1,comment:1,regex:/^968[0-9]{8}$/},{name:"BNP Paribas SA.",type:1,comment:2,regex:/^947[0-9]{8}$/},{name:"Citibank",type:1,comment:2,regex:/^904[0-9]{8}$/},{name:"Danske Bank",type:1,comment:1,regex:/^(12|13|24)[0-9]{9}$/},{name:"DNB Bank",type:1,comment:2,regex:/^(919|926)[0-9]{8}$/},{name:"Ekobanken",type:1,comment:2,regex:/^970[0-9]{8}$/},{name:"Erik Penser",type:1,comment:2,regex:/^959[0-9]{8}$/},{name:"Forex Bank",type:1,comment:1,regex:/^94[0-4][0-9]{8}$/},{name:"ICA Banken",type:1,comment:1,regex:/^927[0-9]{8}$/},{name:"IKANO Bank",type:1,comment:1,regex:/^917[0-9]{8}$/},{name:"JAK Medlemsbank",type:1,comment:2,regex:/^967[0-9]{8}$/},{name:"Klarna Bank",type:1,comment:2,regex:/^978[0-9]{8}$/},{name:"Landshypotek",type:1,comment:2,regex:/^939[0-9]{8}$/},{name:"Lån & Spar Bank Sverige",type:1,comment:1,regex:/^963[0-9]{8}$/},{name:"Länsförsäkringar Bank",type:1,comment:1,regex:/^(340|906)[0-9]{8}$/},{name:"Länsförsäkringar Bank",type:1,comment:2,regex:/^902[0-9]{8}$/},{name:"Marginalen Bank",type:1,comment:1,regex:/^923[0-9]{8}$/},{name:"MedMera Bank",type:1,comment:2,regex:/^965[0-9]{8}$/},{name:"Nordax Bank",type:1,comment:2,regex:/^964[0-9]{8}$/},{name:"Nordea",type:1,comment:1,regex:/^(?!3300|3782)(1[1456789][0-9]{2}|20[0-9]{2}|3[0-3][0-9]{2}|34[1-9][0-9]|3[5-9][0-9]{2})[0-9]{7}$/},{name:"Nordea",type:1,comment:2,regex:/^4[0-9]{10}$/},{name:"Nordnet Bank",type:1,comment:2,regex:/^910[0-9]{8}$/},{name:"Resurs Bank",type:1,comment:1,regex:/^928[0-9]{8}$/},{name:"Riksgälden",type:1,comment:2,regex:/^988[0-9]{8}$/},{name:"Santander Consumer Bank",type:1,comment:1,regex:/^946[0-9]{8}$/},{name:"SBAB",type:1,comment:1,regex:/^925[0-9]{8}$/},{name:"SEB",type:1,comment:1,regex:/^(5[0-9]{3}|912[0-4]|91[3-4][0-9])[0-9]{7}$/},{name:"Skandiabanken",type:1,comment:2,regex:/^91[5-6][0-9]{8}$/},{name:"Swedbank",type:1,comment:1,regex:/^7[0-9]{10}$/},{name:"Ålandsbanken",type:1,comment:2,regex:/^23[0-9]{9}$/},{name:"Danske Bank",type:2,comment:1,regex:/^918[0-9]{11}$/},{name:"Handelsbanken",type:2,comment:2,regex:/^6[0-9]{12}$/},{name:"Nordea Plusgirot",type:2,comment:3,regex:/^(95[0-4]|996)[0-9]{8,11}$/},{name:"Nordea",type:2,comment:1,regex:/^(3300|3782)[0-9]{10}$/},{name:"Riksgälden",type:2,comment:1,regex:/^989[0-9]{11}$/},{name:"Sparbanken Syd",type:2,comment:1,regex:/^957[0-9]{11}$/},{name:"Swedbank",type:2,comment:3,regex:/^8[0-9]{10,14}$/},{name:"Swedbank",type:2,comment:1,regex:/^93[0-4][0-9]{11}$/}];for(n in r)if((m=r[n]).regex.test(a))return t(a,m);return!1};var t=function(e,n){let t=e.substr(0,"8"===e.charAt(0)?5:4),r=1===n.type?e.substr(-7):2===n.type&&2===n.comment?e.substr(-9):2===n.type&&3===n.comment&&"8"===e.charAt(0)?e.substr(5):2===n.type&&3===n.comment&&"9"===e.charAt(0)?e.substr(4):e.substr(-10);return!!(1===n.type&&1===n.comment?a((t+r).substr(-10)):1===n.type&&2===n.comment?a(t+r):2===n.type&&2===n.comment?a(r):m(r)&&("8"!==t.charAt(0)||m(t)))&&{bank_name:n.name,clearing_number:t,account_number:r}},m=function(e){for(var n,t=e.length,m=1,a=0,r=[0,2,4,6,8,1,3,5,7,9];t;)n=parseInt(e.charAt(--t),10),a+=(m^=1)?r[n]:n;return a&&a%10==0},a=function(e){for(var n,t=e.length,m=0,a=[1,10,9,8,7,6,5,4,3,2,1],r=a.splice(a.length-t,a.length-(a.length-t));t;)n=parseInt(e.charAt(--t),10),m+=r[t]*n;return m&&m%11==0}}(window);