Jeg har været nødsaget til at lave et enkelt lille JavaScript til omregning
af nogle værelsesnumre på mit kollegium til telefonnumre.
Jeg er dog lidt usikker på syntaksen, så jeg håbede at en måske lige ville
kigge nedenstående igennem og se om der er fejl.
I nedenstående str det firecifrede værelsesnummer, der checkes med første
linie.
if (str.match(/^[12346][1-8]((0[1-9]|1[0-9]|2[0-3])a{0,1}|04b|20b)$/i))
{
var block = str.substring(0, 1)
var floor = str.substring(1, 2)
var room = str.substring(2, 4)
if (block == 6)
block = 5
var phone = 6000 + 184*(block-1) + 23*(floor-1) + (room-1)
if (str == 2712)
phone = '6936'
else if (str > 4113)
phone++
profile.phone.value = '3287' + phone
}
Desuden så skelner JavaScript ikke mellem tal og strenge kun indeholdende
tal. Hvordan sikrer jeg mig, at anden sidste linie ikke lægger de to udtryk
sammen som tal?
--
Morten Bakkedal
http://www.bakkeland.dk/