Avatar billede refi Nybegynder
08. november 2005 - 11:00 Der er 8 kommentarer og
1 løsning

Indsætning af - mellem 2 tal

Jeg har brug for en separator i form af et - tegn efter de først 5 cifre, som er indtastet i mit felt. Nedenstående virker delvist ;-) Problemet er, hvis jeg begynder at slette og når til 5 cifre, tillader den ikke at jeg sletter flere cifre og ender altså op med at de sidste 5 cifre ikke kan ændres i tilfælde af fejl indtastning. Har forsøgt alt muligt, men er ikke så skarp udi JavaScript ;-)

Har er det jeg har bakset med, rimeligt simpelt.. meeeen :-)

function formatOrdreNr(objField) {
    objField.value = objField.value.replace(/[^\d-]/g, "");
    if (objField.value.length >= 5) {
        if (objField.value.indexOf("-") >= 1) {
            var intOrdreID = objField.value.substr(0,5);
            var intOrdreVarelineID = objField.value.substr(6,20);
            objField.value = intOrdreID + "-" + intOrdreVarelineID;
        } else {
            if (objField.value.indexOf("-") <= 0) {
                objField.value = objField.value + "-";
            }
        }
    }
}
Avatar billede refi Nybegynder
08. november 2005 - 11:41 #1
Her er et eksempel på hvordan et ordrenr., kan se ud 89898-78787878.

Bindestregen, må også kun forkomme én gang i nummeret.
Avatar billede roenving Novice
08. november 2005 - 13:47 #2
Jeg tror det vil være alt for besværligt at fjerne tilsætningen af bindestregen, hvis der præcis er trykket på backspace tasten, men man kan jo selv sætte den et andet sted med musen og så slette det forkerte ...

-- iøvrigt kan du f.eks. nøjes med:

onkeyup="this.value=this.value.replace(/[^\d]/g,'').replace(/^(\d{5})/,'$1-');"

-- hvis du holder backspace nede, markerer noget eller placerer cursoren et andet sted med musen, vil du sagtens kunne slette
Avatar billede refi Nybegynder
08. november 2005 - 14:27 #3
Det var bare super, og så fylder det jo ikke en dyt... mange tak for hjælpen :-)

Hvis du smider et svar, så får du pointene :-)

/Refi
Avatar billede roenving Novice
08. november 2005 - 14:41 #4
Velbekomme '-)
Avatar billede roenving Novice
08. november 2005 - 14:50 #5
-- og tak for point ;~}
Avatar billede johan.o Nybegynder
09. november 2005 - 16:39 #6
>>roenving: ,'$1-' ... kan du forklare ? :)

Mvh. Johan
Avatar billede roenving Novice
10. november 2005 - 12:17 #7
Hvis man har en regexp vil op til 9 dele af den kunne lægges i grupper ved hjælp af () ...

-- de kan så refereres med $1 til $9 !-)

-- og det kan man sågar benytte sig af indenfor samme regexp, så man f.eks. kan teste om f.eks. det første tal i en streng kommer igen senere !o]
Avatar billede johan.o Nybegynder
10. november 2005 - 12:39 #8
Javel ja, så i dette tilfælde udskiftes 'de 5 første tal' med 'de samme 5 tal og en -'

Tak for det - Mvh. Johan
Avatar billede roenving Novice
10. november 2005 - 12:45 #9
Præcis, ja !-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester