13. september 2009 - 13:34Der er
8 kommentarer og 1 løsning
Point til roenving
Har uden held prøvet at få dit script der beregner alder fra CPR-nummer til at virke (http://www.eksperten.dk/spm/525391). Kan du evt. vise hele scriptet i sin helhed? Havde du mulighed for at lave en rettelse så alderen ikke blev beregnet ud fra dagen i dag, men ud fra indholde af et input-felt i formatet dd-mm-yyyy.
I et inbound callcenter, hvor identiteten på den, der ringer ind, skal bekræftes, kan kontrollen nu foregå i telefonkøen. Det understøtter fem centrale KPI'er for callcentre.
det står ellers du har fået det til at virker, men godt vil have ændret på nogle ting... Det var det script du skulle vise her, så ville der nok være nogen som kunne hjælpe med at lave ændringerne..
Jeg skriver "har uden held prøvet at få dit script der beregner alder fra CPR-nummer til at virke", men lad nu det ligge. Jeg har sakset følgende script:
function cprCheck(flt){ var cpr = flt.value,match = false,c = flt.form.elements["cpr-status"]; if(cpr.match(/[0-9]{6}\-?[0-9]{4}/)){ c.disabled = false; cpr = cpr.replace(/\-/g,"");
var chk = 0; for(i=9;i>-1;i--){ chk += (+cpr.charAt(i))*((i>2)?(10-i):(4-i)); } if(chk%11==0)match = true; var dag = new Date(+cpr.substring(4,2),+cpr.substring(2,2)-1,+cpr.substring(0,2)); if(dag.getTime() > new Date().getTime() || !match){ c.style.color = "red"; c.value = "Ugyldigt Cpr nr."; }else{ c.style.color = "green";
Jeg kan ikke finde ud af at koble disse stumper sammen. Desuden ville jeg gerne have lavet en rettelse så alderen ikke blev beregnet ud fra dagen i dag, men ud fra indholde af et input-felt i formatet dd-mm-yyyy.
Beklager det sene svar, men jeg har ikke lige været online pga arbejde. Jeg kan ikke lige få det til at virke, men jeg har også store teoretiske huller hvad angår JS. Noget så simpelt som at kalde funktionen med 2 argumenter fra input-felter - hvordan gøres det. Før har jeg jo bare skrevet
Nu har jeg prøvet at rette lidt i scriptet. Jeg har lavet det så jeg fortsat kalder med onkeyup="cprCheck(this). Nu kommer der et resultat ud af det, men det er negativt (-99år eller lignende). Har ikke tid til at kigge mere på det nu.
function cprCheck(cprflt){ var cpr = cprflt.value,match = false,c = cprflt.form.elements["cpr-status"]; var calcdate; calcdate=document.form.dato.value; calcdate=calcdate.replace(/\-/g,""); if(cpr.match(/[0-9]{6}\-?[0-9]{4}/) && calcdate.match(/[0-9]{6}/)){ c.disabled = false; cpr = cpr.replace(/\-/g,""); var chk = 0; for(i=9;i>-1;i--){ chk += (+cpr.charAt(i))*((i>2)?(10-i):(4-i)); } if(chk%11==0)match = true; var dag = new Date(+cpr.substring(4,2),+cpr.substring(2,2)-1,+cpr.substring(0,2)); if(dag.getTime() > new Date().getTime() || !match){ c.style.color = "red"; c.value = "Ugyldigt Cpr nr."; }else{ c.style.color = "green"; var aar = +cpr.substring(4,2); var maaned = +cpr.substring(2,2); var dag = +cpr.substring(0,2); var nu = new Date(+calcdate.substring(4,2),+calcdate.substring(2,2)-1,+calcdate.substring(0,2)); var alder = nu.getFullYear() - (aar + (nu.getYear() > aar ? 2000 : 1900)); alder -= (maaned > nu.getMonth() + 1 || maaned == nu.getMonth() + 1 && dag > nu.getDate()) ? 1 : 0; c.value = "Gyldigt Cpr nr. (" + alder + " år; Køn: " + ((cpr.match(/[13579]$/))?"Mand":"Kvinde") + ")"; } }else{ c.disabled = true; c.style.color = "black"; c.value = (cpr.length>0)?"Validerer ...":"<-- Indtast CPR nr."; } }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.