[GastForen Programmierung/Entwicklung JavaScript Reguläre Ausdrücke

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Reguläre Ausdrücke

Molle
Beiträge gesamt: 2

6. Nov 2004, 20:21
Beitrag # 1 von 5
Bewertung:
(989 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

habe folgende Aufgabe zu lösen. Ich bräuchte da etwas Hilfe, wie kann man das lösen?
Erstellen Sie eine Webseite, die das Anlegen einer kleinen Linksammlung ermöglicht. Gestalten Sie dazu ein Formular, in dem ein Benutzer den URL und den Titel einer seiner Meinung nach nützlichen Website eintragen kann. Klickt der Benutzer auf den Submit-Button, soll überprüft werden, ob es sich bei der Eingabe um einen korrekten URL handelt und ob ein Titel eingetragen wurde.
Zur Vereinfachung sollen hier nur eingeschränkte URLs zugelassen werden. Der URL muss mit http:// beginnen und soll dahinter nur den Namen des Webservers enthalten. Bei dem Servernamen muss es sich um einen vollständig qualifizierten Domainnamen handeln, dessen letzte Komponente eine Toplevel-Domain (zwei oder mehr Buchstaben) ist. Davor kommen eine oder mehrere Namenskomponenten, die jeweils Buchstaben, Ziffern und Bindestriche enthalten dürfen und durch Punkte voneinander getrennt werden. Weitere Angaben im URL sollen hier nicht zugelassen werden, d.h. insbesondere URLs mit Pfadangaben auf dem Server sollen nicht eingetragen werden können.
Auf eine unzulässige oder unvollständige Eingabe soll der Benutzer beim Versuch, das Formular abzusenden, in einer Dialogbox hingewiesen werden. Hat er jedoch einen zulässigen URL und einen Titel eingegeben, sollen diese in einem Cookie gespeichert werden. Lassen Sie dabei zu, dass ein Benutzer bis zu zehn verschiedene Links speichert, die in getrennten Cookies abgelegt werden. Überschreiben Sie also erst dann einen der alten Cookies, wenn der Benutzer einen elften Eintrag eingibt.
Ruft der Benutzer die Linksammlung erneut auf, sollen die in den Cookies gespeicherten Links in der Seite erscheinen, wobei jeweils der eingegebene Titel als Linktext verwendet werden soll. Die Daten sollen ein Jahr lang gespeichert bleiben.
X

Reguläre Ausdrücke

Markus Walker
Beiträge gesamt: 494

7. Nov 2004, 12:46
Beitrag # 2 von 5
Beitrag ID: #122046
Bewertung:
(989 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Molle

>Ich bräuchte da etwas Hilfe, wie kann man das lösen?
Indem Du einen guten JavaScript-Kurs besuchts (tust Du dies gerede?) ;-)
oder lese Dich mal hier durch:
http://de.selfhtml.org/...t/objekte/regexp.htm
http://de.selfhtml.org/.../document.htm#cookie

Dann gibts noch eine ganze Anzahl Bücher. Ich selbst bevorzuge die Bücher von O'Reilly.


Komm danach mit konkreten Fragen zurück. Wir helfen gerne, aber übernehmen nicht die Hausaufgaben.

HTH


als Antwort auf: [#121961]

Reguläre Ausdrücke

Molle
Beiträge gesamt: 2

8. Nov 2004, 20:44
Beitrag # 3 von 5
Beitrag ID: #122456
Bewertung:
(989 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

das ist schon in Ordnung, erst mal Danke für den Tip.
Hier die ersten Schnipsel. Ich bau erstmal lauter Einzelteile und dann sehen wir weiter. Was haltet ihr davon?
<html>
<head>
<title>regulärer Ausdruck</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript" language="JavaScript">

//prüfen der eingabe
function pruefen(){
var eingabe = document.form_send.eingabe.value;
var url = /^[_http:\/\/]+[_http://www.](\.[_a-zA-Z0-9-]+)*([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}$/;
var passt = eingabe.match(url);
if (passt == null) {
alert("Falsche Eingabe");
document.form_send.eingabe.focus();
}
}
//schreiben Cookie um User identifizieren zu können
//lesen Cookie
//ausgabe Cookie
//ab 11 Cookie überschreiben aber wie?
</script>
</head>

<body>
<div align="center">
<p><font size="+3">Bitte geben Sie hier blablabla </font></p>
<form name="form_send">
Bitte hier URL eingeben:
<input name="eingabe" type="text" size="50" maxlength="50">
</form>
<p><font size="+3">
<input name="send" type="button" id="send" value="Abschicken" onClick="pruefen();">
</font></p>
</div>
</body>
</html>


als Antwort auf: [#121961]

Reguläre Ausdrücke

ganesh
Beiträge gesamt: 1981

8. Nov 2004, 21:09
Beitrag # 4 von 5
Beitrag ID: #122459
Bewertung:
(989 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
nun ja, http://google.com wird als ungültig bezeichnet, was ja nicht stimmt. Nimm 'www' raus bzw. mache es optional.


als Antwort auf: [#121961]

Reguläre Ausdrücke

Anonym
Beiträge gesamt: 22827

9. Nov 2004, 11:50
Beitrag # 5 von 5
Beitrag ID: #122587
Bewertung:
(989 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
hier die nächsten Brocken. Wie ich das alles zusammen baue weis ich auch noch nicht. Bin wohl ein hoffnungsloser Fall. wie kann ich dann die Cookies im Document ausgeben und erreichen das ab 11 überschrieben wird?

//prüfen der eingabe
function pruefen(){
var eingabe = document.form_send.eingabe.value;
var url = /^[_http:\/\/]+(\.[_a-zA-Z0-9-]+)*([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}$/;
var passt = eingabe.match(url);
if (passt == null) {
alert("Falsche Eingabe");
document.form_send.eingabe.focus();
}
}

// Schreibt einen Cookie

function writeCookie(name, wert) {
var arg_wert = writeCookie.arguments;
var arg_laenge = writeCookie.arguments.length;
var expires = null;
if (arg_laenge > 2) {
expires = arg_wert[2];
}

if (expires != null) {
document.cookie = name + "=" + escape(wert)
+ "; expires=" + expires.toUTCString();
} else {
document.cookie = name + "=" + escape(wert);
}
}
//Haltbarkeit des cookies
function actTime(t) {
var jetzt = new Date();
var Auszeit = new Date(jetzt.getTime() + t);
return Auszeit;
}

var cookie_name = "mein_cookie";
var sp = ",";
var expTime = 1000 * 60 * 60
* 24 * 30 * 12;

//Liest einen Cookie
function getCookie(name) {
if (document.cookie) {
var cookies = document.cookie.split("; ");
for (i = 0; i < cookies.length; i++) {
var nv = cookies.split("=");
if (nv[0] == name) {
return unescape(nv[1]);
}
}
}
return null;
}

function ausgabe() {
//??????


</script>


als Antwort auf: [#121961]
X

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
01.12.2022

Online
Donnerstag, 01. Dez. 2022, 10.00 - 10.45 Uhr

Webinar

Die drei ColorLogic-Programme ZePrA, CoPrA und ColorAnt sind in neuen Versionen mit vielen neuen Funktionen im Jahr 2022 veröffentlich worden oder werden in Kürze veröffentlicht (ColorAnt 9). In unserem ca. 45 minütigen kostenlosen Webinar zeigen wir Ihnen einige dieser neuen Funktionen mit dem Schwerpunkt auf Automatisierung und Produktivitätssteigerungen.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=311

ColorLogic Update-Webinar ZePrA 10, CoPrA 9 und ColorAnt 9
Veranstaltungen
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/