Avatar billede wolfgang Praktikant
08. september 2003 - 22:35 Der er 13 kommentarer og
1 løsning

Replace af et bestemt tegn i en rækkefølge

Jeg skal kunne erstatte et bestemt tegn i en rækkefølge, i et form felt.

Eksempel: (CPR Nr.)
Hvis der skrives følgende i feltet;
0105801450

Skal det erstattes med;
010580-x450

Jeg har et script, der indsætter bindestregen osv., men jeg kan sgu ikke klare det med at indsætte "x'et".

Dvs. at tegn #7 i originalstregen skal erstattes med x.

Jeg håber der er nogen, der kan hjælpe.

MVH

Wolfgang
Avatar billede TRoXa Novice
08. september 2003 - 22:44 #1
$cpr = "0105801450"
$nytcpr = substr($cpr,0,6) . "-x" . substr(8,3);

sådan der vil jeg mene
Avatar billede TRoXa Novice
08. september 2003 - 22:44 #2
hov det var jo i javascript :S hehe sorry troede der stod php
Avatar billede roenving Novice
08. september 2003 - 22:45 #3
function erstatTxt(){
txt = "0105801450";
reg = /^(\d{6})\d?(\d{3})/
txt = txt.replace(reg,"$1-x$2");
alert(txt);
}
Avatar billede TRoXa Novice
08. september 2003 - 22:45 #4
men for en god ordens skyld hvis andre skulle se det og havde brug for det i php ville det være

<?
$cpr = "0105801450";
$nytcpr = substr($cpr,0,6) . "-x" . substr($cpr,7,3);
echo $nytcpr;
?>
Avatar billede roenving Novice
08. september 2003 - 22:46 #5
-- men hvad er formålet med at fjerne eet tal, enhver der har den mindste kendskab til CPR-nummerets opbygning vil kunne finde den værdi igen ?-)
Avatar billede wolfgang Praktikant
08. september 2003 - 22:46 #6
Hej Troxa,

Tak for hjælpen - bliver jo nok nød til at afvise :D

MVH
Wolfgang
Avatar billede roenving Novice
08. september 2003 - 22:50 #7
Hvis du nu bruger denne udgave, vil den kun forsøge at udskifte, hvis der er præcis 10 cifre:

reg = /^(\d{6})\d(\d{3})$/
Avatar billede TRoXa Novice
08. september 2003 - 22:57 #8
det er bare okay :) tænkte bare at andre måske ville kunne bruge det :) hehe
Avatar billede wolfgang Praktikant
08. september 2003 - 22:57 #9
Hej Roenving,

Jeg er desværre ikke den store ørn til Javascript.
Kan du give mig et eksempel, hvor "replacen" foregår "On the Fly" ?

Jeg har vedlagt mit script pt.

function formatRegNr(theField){
    var oLen = theField.value.length;
    if(oLen == 6){
        theField.value += "-"
        }
    }

MVH

Wolfgang
Avatar billede wolfgang Praktikant
08. september 2003 - 22:59 #10
Her er Eventet på selve feltet:
onkeypress="java script:formatRegNr(this);"
Avatar billede wolfgang Praktikant
08. september 2003 - 23:07 #11
Hej Roenving,

Husk endelig at oprette et svar - så du kan få pointz :D

MVH

Wolfgang
Avatar billede roenving Novice
08. september 2003 - 23:08 #12
(Det er noget vrøvl at skrive java script: inde i en event-handler !-)
onkeypress="formatRegNr(this);"

function formatRegNr(fld){
txt = fld.value;
reg = /^(\d{6})\d{1}(\d{0,3})$/
fld.value = txt.replace(reg,"$1-x$2");
}
Avatar billede roenving Novice
08. september 2003 - 23:09 #13
-- og velbekomme '-)
Avatar billede roenving Novice
22. september 2003 - 13:31 #14
- tak for points ;~}
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