Scriptet skal kunne gøre følgende: 1) Lav stort begyndelses-bogstav efter punktum. 2) Slet mellemrum før punktum, lav mellemrum efter punktumet OG det storte begyndelsesbogstav. 3) Slet mellemrum før komma, lav mellemrum efter komma.
Tak for det - komma-delen (punkt 3) fungerer fint, mens punkt 1 og 2 ikke fungerer (der sker intet).
Scriptet mangler at gøre:
1) Lav stort begyndelses-bogstav efter punktumet, hvis der findes et mellemrum mellem punktumet og det begyndelses-bogstav, som scriptet skal gøre stort. 2) Slet mellemrumet før punktumet, lav mellemrumet efter punktumet OG det storte begyndelsesbogstav (som ovenstående skabte).
Og så må scriptet gerne check om det sidste tegn i textarea'et "beskrivelse" er et punktum. Hvis ikke det er det, så skal den lave indsætte punktum til sidst. (Jeg forhøjer lige pointene til dig, fordi har udvidet opgaven lidt :-)
Problem 1) er indtil videre uløst - det er ikke 'bare lige', men måske finder jeg en løsning.
Du har nok forsøgt nummer 2) med et lille bogstav efter punktummet og det vil ikke virke. Tilsvarende vil et stort bogstav efter komma få 3) til ikke at virke! Der skal /gi på begge udtryk for at komme uden om dette, altså:
Det virker smukt, men der mangler "bare", som du selv omtalte, at begyndelsesbogstavet bliver lavet stort. Det gør ikke noget, at der tilføjes nogle flere udtryk, hvis det kan hjælpe... du er eksperten :-)
Det endte med at blive noget mere besværligt end jeg først havde forventet, men det vi ser her klarer 1), 2), 3) og 4) i forening (jeg var nødt til at lave 1)-2) til en løkke, der tager 1 punktum ad gangen, da jeg ikke har fundet en måde i global replace at udføre yderligere kode for hver erstatning):
var rx = new RegExp( "(.*?)\\s*(\\.)\\s*([A-Z])", "gi" ); var result = ""; var savlast; var str1 = form.beskrivelse.value; do { var matches = rx.exec( str1 ); if (!matches) break;
result += matches[1] + '. ' + matches[3].toUpperCase(); savlast = rx.lastIndex; } while (1);
form.beskrivelse.value = result + str1.substr(savlast);
Det er blevet en stor kode, men det er underordnet, når problemstillingen er løst. Jeg takker mange gange :-)
Synes godt om
Ny brugerNybegynder
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.