Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Formular, brauche Hilfe... [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Formular, brauche Hilfe...


 
mchashi
10-07-2002, 03:18 
 
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.

 
mosez
10-07-2002, 08:10 
 
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/javascript/objekte/regexp.htm

 
mchashi
10-07-2002, 12:28 
 
das klappt nicht, so wie du das hast, scheint irgendwie falsch zu sein. hoffe somit auf andere tipps :D !!!

danke,

gruß
sven.

 
Titus
11-07-2002, 08:52 
 
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 (http://www.php-resource.de/tutorials.php?show=20020314_Reg_p1.php), 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:
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>

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:17 Uhr.