Formular, brauche Hilfe...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Formular, brauche Hilfe...

    Hallo Leute,

    ich habe mehrere Textfelder und lasse die überprüfen, z.B. das Feld "name" und "mail". Hier der Code:



    <SCRIPT language=JavaScript>
    <!--
    function pruefen(form){

    if (!form.spitzname.value){
    alert('Du hast keinen Spitznamen eingetragen.');
    return;
    }


    if (!form.mail.value){
    alert('Bitte gib Deine eMail an.');
    return;
    }
    if (form.mail.value.indexOf('@') == -1){
    alert('Bitte gib Deine eMail an.');
    return;
    }
    if (form.mail.value.indexOf('.') == -1){
    alert('Bitte gib Deine eMail an.');
    return;
    }


    var msg='Danke für Deine Anmedlung!';if (confirm(msg)) form.submit();else return;
    }

    // -->
    </SCRIPT>



    Jedoch will ich jetzt ein Textfeld "text" überprüfen lassen, ob in diesem Feld Wörter wie: Scheiße oder auch Schlampe (sorry für den Ausdruck) geschrieben wurden. Hat man so ein Wort geschrieben, soll sich wie bei unkorrekter Eingabe der Email ein Fenster öffnen, wo jedoch drin steht: "das muss aber nicht sein!"

    Wie geht das ???

    Danke im Voraus.

    Gruß
    Sven.

  • #2
    du musst einen array mit den nicht gewünschten wörtern als reguläre ausdrücke definieren, und dann mit search() überprüfen, ob der ausdruck in deinem text vorhanden ist:

    var badwords = new array(/scheisse/,/schlampe/,......)

    for(var i=0;i<badwords.length;i++)
    {
    if(form.text.value.search(badwords[i])!=-1){alert('muss ned sein..');return;}
    }

    ich habs ned probiert, aber ich denk es geht

    mfg mosez

    PS: infos über reguläre ausdrücke hab ich bei selfhtml gefunden: http://selfhtml.teamone.de/javascrip...kte/regexp.htm

    Kommentar


    • #3
      danke, aber ...

      das klappt nicht, so wie du das hast, scheint irgendwie falsch zu sein. hoffe somit auf andere tipps !!!

      danke,

      gruß
      sven.

      Kommentar


      • #4
        Original geschrieben von mosez
        du musst einen array mit den nicht gewünschten wörtern als reguläre ausdrücke definieren
        @mchashi: Vermutlich hast du diesen Satz übersehen.
        In JavaScript wird für reguläre Ausdrücke die Perl-Syntax benutzt. Wir haben hier ein Tutorial darüber, in dem die Grundlagen beschrieben werden.

        Die Schrägstriche in der Array-Definition sind wichtig, ohne funktioniert es natürlich nicht! Aber am besten machst du das noch case-insensitiv, indem du den Modifier "i" an den Ausdruck anhängst:
        Code:
        function checkform(frm)
        {
          var badwords = new array('scheisse','schlampe',......)
          for(var i=0;i<badwords.length;i++)
          {
            if(form.text.value.search('/'+badwords[i]+'/i')!=-1)
            {
              alert('muss ned sein..');
              return false;
            }
          }
          return true;
        }
        <form onSubmit="return checkform(this);">
          <textarea name="text"></textarea>
          <input type="submit">
        </form>
        mein Sport: mein Frühstück: meine Arbeit:

        Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

        Kommentar

        Lädt...
        X