Avatar billede keet Nybegynder
23. juni 2003 - 15:21 Der er 13 kommentarer og
1 løsning

trim streng

Hvordan fjerner jeg mellemrummene i starten af min streng.

var minStreng = '      test';
Avatar billede dk_akj Nybegynder
23. juni 2003 - 15:23 #1
function RTrim(VALUE){
var w_space = String.fromCharCode(32);
var v_length = VALUE.length;
var strTemp = "";
if(v_length < 0){
return"";
}
var iTemp = v_length -1;

while(iTemp > -1){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(0,iTemp +1);
break;
}
iTemp = iTemp-1;

} //End While
return strTemp;

} //End Function

function LTrim(VALUE){
var w_space = String.fromCharCode(32);
if(v_length < 1){
return"";
}
var v_length = VALUE.length;
var strTemp = "";

var iTemp = 0;

while(iTemp < v_length){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(iTemp,v_length);
break;
}
iTemp = iTemp + 1;
} //End While
return strTemp;
}

//akj
Avatar billede keet Nybegynder
23. juni 2003 - 16:23 #2
Jeg kan godt nok ik få LTrim til at virke... :( Der kommer ik nogen fejl men mellemrummene bliver ik fjerne
Avatar billede keet Nybegynder
23. juni 2003 - 16:35 #3
minStreng = '  min streng' skal blive til:
minStreng = 'min streng';
Avatar billede dk_akj Nybegynder
23. juni 2003 - 16:37 #4
<script language=javascript>

var st;

st = "                    test";

alert(st);

st = LTrim(st);

alert(st);

function LTrim(VALUE){
var w_space = String.fromCharCode(32);
if(v_length < 1){
return"";
}
var v_length = VALUE.length;
var strTemp = "";

var iTemp = 0;

while(iTemp < v_length){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(iTemp,v_length);
break;
}
iTemp = iTemp + 1;
} //End While
return strTemp;
}

</script>


//akj
Avatar billede Slettet bruger
23. juni 2003 - 21:02 #5
Og den nemme:

function trimStreng(str) {
  str = str.replace(/^ +/, "");
  return str;
}
Avatar billede Slettet bruger
23. juni 2003 - 21:06 #6
Hvis der også skal trimmes til højre:

function trimStreng(str) {
  str = str.replace(/^ +/, "");
  str = str.replace(/ +$/, "");
  return str;
}

Så meget kan klares på kun fire linjer med regular expressions! :)
Avatar billede dk_akj Nybegynder
23. juni 2003 - 22:05 #7
phoenix >> SEJT !!

Hvad betyder "/^ +/" ??

//akj
Avatar billede Slettet bruger
24. juni 2003 - 09:25 #8
Det er noget regexp (regular expressions). Læs fx her:
http://www.webmasterbase.com/article/286

/ betyder henholdsvis start og slut på regexp'en.
^ betyder "starten af strengen".
$ betyder slutningen af strengen.
+ betyder "1 eller flere af det foregående tegn".
Avatar billede keet Nybegynder
24. juni 2003 - 11:47 #9
Takker for det nemme svar phoenixv. Det snupper jeg, hvis du lige vil svare :)
Avatar billede keet Nybegynder
24. juni 2003 - 11:55 #10
Hmm. Når jeg test det i et alm. html-dokument virker det fint for mig, men når jeg returnerer det i PHP virker det ik... Nogen ideer hvorfor??
Avatar billede roenving Novice
24. juni 2003 - 15:14 #11
Fordi funktionerne i php er native og ikke metoder på String-objektet, som de er i javascript ...

-- kender ikke php, så jeg kender ikke forskel på dem, men jeg har set ereg_replace, preg_replace, eregi_replace som forskellige php-funktioner
Avatar billede dk_akj Nybegynder
24. juni 2003 - 15:16 #12
Hvis du skal lave det i PHP skal du huske at generere html'en

Er det ikke noget med
echo ("<scriptlanguage=javascript>")
echo ("alert('javascript lavet med PHP(med mystisk syntax :-)')")
echo ("</script>")

//akj
Avatar billede Slettet bruger
25. juni 2003 - 09:35 #13
keet>> Du må lige forklare lidt nærmere om, hvad du mener med at "returnere i PHP".
Avatar billede keet Nybegynder
26. juni 2003 - 19:58 #14
Din funktion bliver bare returneret i en php-funktion.
function bla() {
return " javascript...";
}
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