|
| Validering af EAN13 chekciffer Fra : Peter Lykkegaard |
Dato : 15-12-09 01:47 |
|
Hejsa
Jeg skal have lavet noget validering af datainput mere specifikt EAN
lokationsnumre (EAN 13)
Beregningen skulle være standard modulus 10
http://www.gs1.org/barcodes/support/check_digit_calculator#gtin
Som udgangspunkt har jeg sakset denne kode fra
http://www.merlyn.demon.co.uk/js-misc1.htm
----------
function CheckDigit(Str) { var J, Sum = 0, T
for (J=0 ; J<=11 ; J++) { T = +Str.charAt(J)
Sum += J%2 ? 3*T : T }
Sum %= 10 ; if (Sum) Sum = 10-Sum
return Sum == +Str.charAt(12) }
----------
Nogen gode ideer til hvordan jeg kommer i gang med firebug i FF så jeg
kan lave lidt t&t?
Min function skal bare returnere true/false så focus bibeholdes på
feltet hvis data er forkerte :)
- Peter
| |
Stig Johansen (15-12-2009)
| Kommentar Fra : Stig Johansen |
Dato : 15-12-09 12:56 |
|
Hmm. OE og quotes.. jeg prøver at adskille med .....
"Peter Lykkegaard" <plykkegaard@gmail.com> wrote in message
news:ff5fab21-fbfd-4aa1-9582-49a9554576ec@m25g2000yqc.googlegroups.com...
......
Jeg skal have lavet noget validering af datainput mere specifikt EAN
lokationsnumre (EAN 13)
Beregningen skulle være standard modulus 10
http://www.gs1.org/barcodes/support/check_digit_calculator#gtin
......
Helt så simpelt er det ikke, se f.eks:
http://www.barcodeisland.com/ean13.phtml
Det er nok 15+ år siden jeg rodede med EAN, men så vidt jeg husker, så har
det første ciffer en betydning.
......
----------
function CheckDigit(Str) { var J, Sum = 0, T
for (J=0 ; J<=11 ; J++) { T = +Str.charAt(J)
Sum += J%2 ? 3*T : T }
Sum %= 10 ; if (Sum) Sum = 10-Sum
return Sum == +Str.charAt(12) }
----------
Min function skal bare returnere true/false så focus bibeholdes på
feltet hvis data er forkerte :)
......
Jo, men så skal du ligesom returnere true eller false fra din funktion, og
ikke en sum.
--
Med venlig hilsen/Best regards
Stig Johansen
| |
Peter Lykkegaard (15-12-2009)
| Kommentar Fra : Peter Lykkegaard |
Dato : 15-12-09 06:05 |
|
Stig Johansen skrev
>
> Jo, men så skal du ligesom returnere true eller false fra din funktion, og
> ikke en sum.
Der skal også lidt ekstra strenghåndtering med - aht andre inddata i
samme felt
Men spørgsmålet gik mere på hvordan man arbejder med at teste/debugge
en funktion i firebug :)
- Peter
| |
Peter Lykkegaard (15-12-2009)
| Kommentar Fra : Peter Lykkegaard |
Dato : 15-12-09 06:15 |
|
Stig Johansen
> Hmm. OE og quotes.. jeg prøver at adskille med .....
>
OE? Jeg bruger Google Groups af nød
>> Beregningen skulle være standard modulus 10
> .....
> Helt så simpelt er det ikke,
I dette helt specifikke tilfælde er det
Jeg skal bruge funktionen til at stoppe tastefejl og forbedre
datakvaliteten
> Det er nok 15+ år siden jeg rodede med EAN, men så vidt jeg husker, så har
> det første ciffer en betydning.
Det er globale lokationsnumre GLN jeg arbejder
http://www.gs1.org/1/glnrules/
De to første cifre er landekoden
Eg 57 for Danmark eller 70 for Norge
- Peter
| |
Birger Sørensen (15-12-2009)
| Kommentar Fra : Birger Sørensen |
Dato : 15-12-09 16:40 |
|
Peter Lykkegaard sendte dette med sin computer:
> Stig Johansen
>
>> Hmm. OE og quotes.. jeg prøver at adskille med .....
>>
> OE? Jeg bruger Google Groups af nød
>
>>> Beregningen skulle være standard modulus 10
>> .....
>> Helt så simpelt er det ikke,
>
> I dette helt specifikke tilfælde er det
> Jeg skal bruge funktionen til at stoppe tastefejl og forbedre
> datakvaliteten
Installer FF og hent FireBug tilføjelsen.
^^
Under Javascript, kan du vælge om der skal stoppes ved fejl, klik i
ventre margen sætter breakpoints, og der er knapper øverst til at
singlesteppe, skippe funktioner, pause og fortsætte. I panelet til
højre, vises variable - og du kan også til føje selv.
Birger
--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk
| |
Peter Lykkegaard (15-12-2009)
| Kommentar Fra : Peter Lykkegaard |
Dato : 15-12-09 19:31 |
|
Birger Sørensen skrev
>
> Installer FF og hent FireBug tilføjelsen.
Er allerede installeret
> Under Javascript, kan du vælge om der skal stoppes ved fejl, klik i ventre
> margen sætter breakpoints, og der er knapper øverst til at singlesteppe,
> skippe funktioner, pause og fortsætte. I panelet til højre, vises
> variable - og du kan også til føje selv.
>
Jow det fremgår også af dokumentationen
Nu har jeg (siden) en større mængde javascripts samt anden data der bruges
på klientsiden, det generes af serverside asp.net script (coolite/extjs) så
det er en kende uoverskuelig det hele
Man har ikke mulighed for at tilføje en funktion/metode runtime og prøve den
lidt af, mens man retter lidt hist og pist?
- Peter
| |
Birger Sørensen (15-12-2009)
| Kommentar Fra : Birger Sørensen |
Dato : 15-12-09 19:55 |
|
Peter Lykkegaard forklarede:
> Birger Sørensen skrev
>>
>> Installer FF og hent FireBug tilføjelsen.
>
> Er allerede installeret
>
>> Under Javascript, kan du vælge om der skal stoppes ved fejl, klik i ventre
>> margen sætter breakpoints, og der er knapper øverst til at singlesteppe,
>> skippe funktioner, pause og fortsætte. I panelet til højre, vises variable
>> - og du kan også til føje selv.
>>
> Jow det fremgår også af dokumentationen
> Nu har jeg (siden) en større mængde javascripts samt anden data der bruges på
> klientsiden, det generes af serverside asp.net script (coolite/extjs) så det
> er en kende uoverskuelig det hele
>
> Man har ikke mulighed for at tilføje en funktion/metode runtime og prøve den
> lidt af, mens man retter lidt hist og pist?
>
> - Peter
Øverst til venstre kan du vælge hvilken fil du vil se - over koden, ved
siden af alle, der står over linienumrene.
Der er en logger (i Konsol), der viser "uregelmæssigheder", og der er
callstack..
Rette i koden kan man vist ikke, med mindre den er del af html filen.
Birger
--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk
| |
Peter Lykkegaard (15-12-2009)
| Kommentar Fra : Peter Lykkegaard |
Dato : 15-12-09 20:23 |
|
Birger Sørensen skrev
> Rette i koden kan man vist ikke, med mindre den er del af html filen.
Ahh ok, jeg laver en lille html form ting med et par felter til at teste
scriptet
Det må være måden at gøre det på
Når scriptet spiller så er det ikke noget større issue at lægge det ind hvor
det skal bruges
Tak /Peter
| |
Birger Sørensen (15-12-2009)
| Kommentar Fra : Birger Sørensen |
Dato : 15-12-09 20:49 |
|
Peter Lykkegaard skrev:
> Birger Sørensen skrev
>
>> Rette i koden kan man vist ikke, med mindre den er del af html filen.
>
> Ahh ok, jeg laver en lille html form ting med et par felter til at teste
> scriptet
> Det må være måden at gøre det på
>
> Når scriptet spiller så er det ikke noget større issue at lægge det ind hvor
> det skal bruges
>
> Tak /Peter
Prøvede lige, bare for sjov.
Man kan ikke gøre sådan længere (min version hedder 1.5X.06b).
Jeg ville egentlig komme med en lille advarsel om, at der så vidt jeg
husker var problemer med linienumre og opdatering af variable - men man
kan altså slet ikke i de nye versioner...
Jeg var så en tur gennem tilføjelserne - og alle der har med js at gøre
understreger debugging - ikke development.
Så det du leder efter, findes nok slet ikke...
Birger
--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk
| |
Stig Johansen (15-12-2009)
| Kommentar Fra : Stig Johansen |
Dato : 15-12-09 21:03 |
|
Peter Lykkegaard wrote:
> Stig Johansen
>
>> Hmm. OE og quotes.. jeg prøver at adskille med .....
>>
> OE? Jeg bruger Google Groups af nød
Ja, det er OE, der ikke kan finde ud af at quote på indlæg med
quoted-printable (Som Google groups bruger).
>> Helt så simpelt er det ikke,
>
> I dette helt specifikke tilfælde er det
> Jeg skal bruge funktionen til at stoppe tastefejl og forbedre
> datakvaliteten
Ok - ...tastefejl...
Det jeg rodede med var udskrift og scanning af barcodes, og der mener jeg,
at der var et eller andet ged med det første ciffer, som ikke fremgår af
barkoden.
Så vidt jeg husker, så skulle det udledes af de andre cifre, OG indgå i
checkciffer beregningen.
Men det havde som sagt noget med print og scanning at gøre, så det er ikke
relevant her.
--
Med venlig hilsen
Stig Johansen
| |
|
|