Profil | Mitglieder | Registrieren | Start | Suche


PHP-Support.de » Programmierung » HTML, JavaScript & CSS » Sonderzeichen in Formularfeld ausschließen    » Hallo Gast [Login | Registrieren]

Neues Thema | Antworten   

Autor Beitrag
deichkind0176
Mitglied
Neuling


Dabei seit: 12.12.2019
Herkunft: keine Angabe
Posts: 4
     Sonderzeichen in Formularfeld ausschließen Zitat | Bearbeiten

Liebe Alle,
ich möchte in einem simplen Formular verhindern, dass Sonderzeichen wie "<> {}" eingegeben werden können. Hab jetzt auch einen Code "gebastelt", der aber leider nicht funktioniert. Vielleicht hat einer von euch spontan ne Idee, wo es hakt?

Lieben Dank im Voraus und entspannte Feiertage...,-)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>JSC02A_16</title>
<link rel="stylesheet" href="beispiel4-1.css" type="text/css">
<script type="text/javascript">

var suchmuster =/\<\>\{\}/;

function pruefe()
{
var mailfeld = document.Benutzerdaten.Mail.value;

if (==suchmuster.test(mailfeld))
{
document.Benutzerdaten.Mail.select();
return false;
}
}

function istok ()
{
var mailfeld = document.Benutzerdaten.Mail.value;

if (!=suchmuster.test(mailfeld))
}

</script>
</head>
<body>
<h1>Formulare – Prüfung</h1>
<form action="myform.php"method="post" name="Benutzerdaten" id="benutzerdaten">
<div>E-Mail: <br>
<input type="text" name="Mail" id="mail" onblur="istok()">
</div>
<input type="submit" value="absenden" onclick="return pruefe();"> <br>
<input type="reset" value="zurücksetzen">
</form>
</body>
</html>


18.12.2019, 12:20 Profil | PM | E-Mail  
asdf
Mitglied
Guter User


Dabei seit: 26.10.2009
Herkunft: keine Angabe
Posts: 449
      Zitat | Bearbeiten

Hi,

Die If-Schleifen solltest du dir nochmals ansehen.

 PHP 
1:
if (==suchmuster.test(mailfeld))

Das kann so nicht funktionieren das "==" überprüft ob was links vom "==" das selbe ist wie das was rechts davon steht. Links steht aber nichts. Ausserdem ist das sicher ein SyntaxError. Würde dir übrigens die Web-Konsole verraten.

Bei der zweiten If-Schleife genau das selbe. Da bräuchtest du nur das "!". Denn ansonsten prüfst du wieder ob das was links vom "!=" nicht gleich das was rechts steht.
Zudem verstehe ich nicht was die If-Schleife in der istok Funktion genau soll und {} Klammern fehlen auch noch (könnte zwar sein das es auch ohne gehen würde, aber dann musst du meines Wissens auch etwas nach der Schleife machen) und ich würde immer mit {} Arbeiten, ist übersichtlicherer.

Ich kenne mich nicht so aus mit Javascript aus, aber die Regex werden so nicht funktionieren.
1. muss das Suchmuster sicher in "" gesetzt werden.
2. Solltest du dir das hier mal etwas genauer anschauen: https://www.w3schools.com/jsref/jsref_regexp_test.asp

Wenn ich dir noch ein paar Tipps geben darf:
1. empfehlen ich dir folgende Seite https://www.w3schools.com/js/default.asp mal etwas zu studieren und die JavaScript-Basics zu lernen. Ansonsten machst du dir keine Freude
2. Zudem ist wie oben schon erwähnt die Web-Konsole sehr hilfreich. Im Firefox über Strg+Umschalt+K aufrufbar.
3. Der Inhalt der Schleifen immer schön einrücken. Ist ebenfalls viel übersichtlicherer.
4. Poste bitte Code immer mit der entsprechende Funktion, also zwischen [php][/php]

PS: Sollte dir zudem klar sein das trotz der Überprüfung der Sonderzeichen durch JavaScript, Sonderzeichen übermittelt werden können. Wenn du sicher sein willst das niemand Sonderzeichen eingibt musst du es Server-Seitig prüfen (PHP).


18.12.2019, 20:48 Profil | PM | E-Mail  
deichkind0176
Mitglied
Neuling


Dabei seit: 12.12.2019
Herkunft: keine Angabe
Posts: 4
      Zitat | Bearbeiten

Lieben Dank für deine Antwort. Ich weiß, es gibt für mich noch viel zu tun. Dann also einfach noch mal von vorn;-)

Dir schöne Feiertage und alles Gute für 2020



19.12.2019, 11:41 Profil | PM | E-Mail  
Seiten (1):  1 
PHP-Support.de » Programmierung » HTML, JavaScript & CSS » Sonderzeichen in Formularfeld ausschließen   

Neues Thema | Antworten   


Powered by Command Board 1.0 - Beta 2.0 © 2004-08 PHP-Einfach | Impressum | Datenschutz