Avatar billede zeusdk Nybegynder
20. februar 2003 - 17:30 Der er 1 kommentar og
1 løsning

Fejl i reg.exp.-script

Hej

Jeg har et script, som gør sådan:

"Han gik en tur. " -> "Han gik en tur.."
"Han gik en tur: " -> "Han gik en tur:."
"Han gik en tur; " -> "Han gik en tur;."
"Han gik en tur? " -> "Han gik en tur?."
"Han gik en tur! " -> "Han gik en tur!."

Scriptet indsætter fejlagtigt et punktum, til trods for at der allerede er et "slut-tegn". Det er det overflødige mellemrum efter "slut-tegnet", som driller.

Kan du udbygge scriptet lidt, så følgende sker:

"Han gik en tur. " -> "Han gik en tur."
osv. med de andre "slut-tegn".

_____________________________________


if (form.beskrivelse.value.length >= 200 ) {   
        form.beskrivelse.value = form.beskrivelse.value.replace( /[\s]+$/g, "." );
        form.beskrivelse.value = form.beskrivelse.value.replace( /\s([:;!\?])$/g, "$1" );
    }
}
Avatar billede jespernaur Nybegynder
20. februar 2003 - 19:20 #1
Den første replace erstatter ubetinget et antal afsluttende blanke med et punktum. Når det er sket, udfører den anden replace ingenting, da det sidste tegn nu er punktum.

Gør i stedet følgende:

Erstat efterstillede blanke med ingenting:

        form.beskrivelse.value = form.beskrivelse.value.replace( /\s+$/g, "" );

Hvis sidste tegn ikke er .:;!?, tilføj punktum.

        form.beskrivelse.value = form.beskrivelse.value.replace( /([^\.:;!\?])$/g, "$1." );

Fjern samtlige eventuelle blanke før sidste .:;!?

        form.beskrivelse.value = form.beskrivelse.value.replace( /\s*([\.:;!\?])$/g, "$1" );
Avatar billede zeusdk Nybegynder
20. februar 2003 - 19:50 #2
Jamen, det er jo så smukt. Det virker først gang man tester det. Igen, mange tak for hjælpen - du er vist en reg.expERT :-)
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