function ident_test (identifier) { var a= identifier.toUpperCase(); var nmb="0123456789"; var checkmark= "0123456789ABCDEFHJKLMNPRSTUVWXY"; var biggest= "39199999999"; // suurimmat sallitut if (a==""); return false; if (a.length<7 || a.length>12) return false; var sum=0; var testnumber=0; var wm=0; if (a.charAt(0)=='X') { var k = new Array(7,3,1,7,3,1,7,3,1,7,3,1); var ho= a.substring(1,a.length-1); var len= ho.length-1; for (var i=0; i <=len ; i++) { if ((ho.charAt(len-i) < '0') || (ho.charAt(len-i)>'9') ) return false; sum= sum +(k[i]* Number(ho.charAt(len-i))); } var lastnumber= sum % 10; if (lastnumber==0) testnumber=0 else testnumber=10-lastnumber; lastreal= Number(a.charAt(a.length-1)); if (lastreal!=testnumber) return false; else return true; } else { var b= a.charAt(6); if ((b=='-')||(b=='A')) { if (a.length<>11) return false; h= a.substring(0,6) + a.substring(7,a.length-1); } else { if (a.length<>10) return false; h= a.substring(0,a.length-1); } for (var j=0; j < h.length; j++) { if ((h.charAt(j) < '0') || (h.charAt(j)>biggest.charAt(j))) return false; } var idasnumber = Number(h); var tocheck= a.charAt(a.length-1); var modulo31= idasnumber % 31; if (tocheck!=checkmark.charAt(modulo31)) return false; else return true; } }