webForumDet fria alternativet

Trim funktion.

0 svar · 3 861 visningar · startad av colione

colioneMedlem sedan juni 20014 421 inlägg
#1

I VBScript finns det ju en funktion som heter trim. Vilken tar bort mellanslag före och efter en sträng.
Tyvärr så finns inte någon sådan i JavaScript, därför har jag skrivit ihop en själv.

/* Copyright colione @ wf. Får användas fritt så länge dessa rader står kvar mail: [email]1nv01a_ollu@tjelvar.org[/email]*/

function trim(chekMyType) {
 if (typeof chekMyType != "string") { return chekMyType; }  //kollar om det är en sträng som skickas med om det är det fortsätt, annars avbryt
 var strTrimMe = chekMyType;

 var strChar = strTrimMe.substring(0, 1); //Tar ut första bokstaven och kollar om det är ett mellanslag, dett sker så länge det finn ett mellanslag innan bokstaven
 while (strChar == " ") {
  strTrimMe = strTrimMe.substring(1, strTrimeMe.length);
  strChar = strTimMe.substring(0, 1);
 }

 strChar = strTrimMe.substring(t.length-1, t.length); //Samma som ovan, fast i slutet istället
 while (strChar == " ") {
  strTrimMe = strTrimMe.substring(0, strTrimMe.length-1);
  strChar = strTrimMe.substring(strTrimMe.length-1, strTrimMe.length);
 }

 while (strTrimMe.indexOf("  ") != -1) {
  strTrimMe = strTrimMe.substring(0, strTrimMe.indexOf("  ")) + strTrimMe.substring(strTrimMe.indexOf("  ")+1, strTrimMe.length);
 }

 return strTrimMe; //Skickar tillbaka strängen til funktionen som anropade den
}
</script>
[kod]

Anropningen sker på detta vis:
[kod]
trim(document.form_namnet.form_fältet)
trim(alert(document.form_namnet.form_fältet))

det går även bra med variabler:

var strToTrim=document.form_namnet.form_fältet

trim(strToTrim)
trim(alert(strToTrim))

eller direkt på en inskriven sträng:

trim("        min sträng med en massa fula mellanslag framför och bakom           ")
trim(alert("        min sträng med en massa fula mellanslag framför och bakom           "))

Det är säkerligen lösbart på ett bättre sätt med RegExpar, men det jobbar jag på att lära mig nu. När jag har förkovrat mig i detta ämne så kommer den funktionen oxå upp.

Diskussion sker i denna tråd

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)