Avatar billede frank_jensen Nybegynder
26. september 2001 - 15:48 Der er 5 kommentarer og
1 løsning

Funktioner til strenge manipulation...

Jeg kunne godt tænke mig at få et eksempel på koden til en funktion, der kan følgende :

Der er en form med 2 felter, et input og et output felt, samt en knap, der aktiverer en funktion, der manipulerer teksten i input-feltet, og lægger resultatet i output-feltet.

Grundlæggende skal funktionen bare kunne vende teksten om. Dvs. tage det sidste tegn og sætte det forrest, osv....

Men, det er jo ikke nok...

Derfor skal der også være en dropdownbox (select), hvor man kan vælge en følgende 3 muligheder :

- Behov mellemrum (altså bare den grundlæggende funktion)
- Fjern mellemrum (den skal så fjerne alle mellemrum i tekststregen)
- Indsæt tilfældige mellemrum (Den skal fjerne alle mellemrum, og så indsætte nogle nye i en tilfældig orden, så der dannes nye ord på mindst 1 tegn, og max 9 tegn.

Alle ovenstående funktioner skal altså udføres på tekstenstregen i input, der er \"vendt om / begvendt\"...

Så... er der nogen, der gider tjene lidt point  ved lidt tekst-gymnastik med Javascript ??
Avatar billede coderdk Praktikant
26. september 2001 - 16:09 #1
Her:

<html>
<head>
  <title>tester</title>
  <script langauge=\"javascript\" type=\"text/javascript\">
  function revers()
  {
    d=document.formen;
    for (i=0;i<d.inp.value.length;i++)
      d.rev.value = d.inp.value.charAt(i) + d.rev.value;
  }
  </script>
</head>
<body>
  <form name=\"formen\" onsubmit=\"return false\">
  <input type=\"text\" name=\"inp\" id=\"inp\" size=\"20\">
  <input type=\"text\" name=\"rev\" id=\"rev\" size=\"20\">
  <input type=\"button\" onclick=\"revers();\" value=\"reverse it\">
  </form>
</body>
</html>
Avatar billede coderdk Praktikant
26. september 2001 - 16:10 #2
Det var kun reverse tingesten q:)
Avatar billede nute Nybegynder
26. september 2001 - 16:10 #3
1) Reversere string og 3) Fjerne alle mellomrom


<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">

<html>
<head>
    <title>Untitled</title>
    <SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">
  <!--
    var inputVal, outputVal;
  function reverseString(){
      inputVal = document.form.inputTxt.value;
        outputVal = \"\";
        for( i = inputVal.length -1; i>=0;i--){

          outputVal += inputVal.charAt(i);
        }
        document.form.outputTxt.value = outputVal;
    }
   
    function removeSpaces(){
      inputVal = document.form.inputTxt.value;
        outputVal = inputVal.replace(/\\s/gi,\"\");
        document.form.outputTxt.value = outputVal;
    }
  //-->
  </SCRIPT>
</head>

<body>
<form name=\"form\">
<input type=\"text\" name=\"inputTxt\"><br>
<input type=\"text\" name=\"outputTxt\"><br>
<input type=\"button\" value=\"vend om\" onClick=\"reverseString();\"><br>
<input type=\"button\" value=\"Fjern alle mellomrom\" onClick=\"removeSpaces();\"><br>

</form>
</body>
</html>



2) Trimme:

http://www.builder.dk/artikler/article.asp?AID=148

/nute
Avatar billede frank_jensen Nybegynder
26. september 2001 - 16:16 #4
dette er hvorfor jeg elsker eksperten...  20 minutter, og det meste er løst...

Nute -> desværre, jeg må indrømme at jeg ikke gider kigge på dit sikkert udemærket link...  grunden til at jeg lagde opgaven her er fordi jeg ikke selv har tid til at løse den...

Derfor er jeg på jagt efter en så komplet kode som muligt...
Avatar billede jakoba Nybegynder
26. september 2001 - 16:34 #5
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">
<HTML>
<HEAD>
    <TITLE>lege med strenge</TITLE>

<META NAME=\"Generator\" CONTENT=\"Stone\'s WebWriter 3\">
<script language=\'javascript\'>

function vend( str ) {
    var res=\"\";
    for (var i=str.length-1; i>=0; i-- ) res += str.charAt(i);
    return res;
}; //end vend( string ) -> string

function fjernBlanke( str ) {  // fjerner a whitespace (tab, cr, ...)
    return str.replace( /\\s+/g, \"\" );
}; //end fjernBlanke( string ) -> string

function indsetBlanke( str, max ) {
    var res = new Array();
    var i = 0
    while ( str.length > 0 ) {
        wlgt = Math.min( str.length, Math.floor( 1+ Math.random()*max ) );
        res[i++] = str.substring( 0,wlgt );
        str = str.substring( wlgt );
    }
    return res.join(\" \");
}; //end indsetBlanke( string ) -> string

function doAction( selObj ) {
    var strengen = selObj.form.ind.value;
    if ( selObj.selectedIndex == 1 ) {
        strengen = vend( strengen );
    } else
    if ( selObj.selectedIndex == 2 ) {
        strengen = vend( strengen );
        strengen = fjernBlanke( strengen );
    } else
    if ( selObj.selectedIndex == 3 ) {
        strengen = vend( strengen );
        strengen = fjernBlanke( strengen );
        strengen = indsetBlanke( strengen, 9 );
    }
    selObj.selectedIndex = 0;
    selObj.form.ud.value = strengen;
}; //end doAction( Select object )

</script>

</HEAD>
<BODY>

<form name=\'dinform\'>
<p>skriv noget<br>
<textarea name=\'ind\' rows=5 cols=60 wrap=\'logical\'></textarea><br>
og vælg hvad der skal gøres ved det:
<select onchange=\"doAction(this);\">
<option selected>- - - - - - - - - vælg her - - - - - - - - -</option>
<option>vend strengen</option>
<option>vend og fjern blanktegn</option>
<option>vend, fjern og indsæt blanktegn</option>
</select> 
<textarea name=\'ud\' rows=5 cols=60 wrap=\'logical\'></textarea><br>

</form>


<!-- WebWriter AutoDato -->Opdateret: 26.9.2001<!-- WW -->
</BODY>
</HTML>
Avatar billede frank_jensen Nybegynder
26. september 2001 - 16:37 #6
mange tak, det var lige hvad jeg skulle bruge...
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