Archiv verlassen und diese Seite im Standarddesign anzeigen : Profilfeld-Eingabe beschränken?!
silencerdeluxe
17.10.2007, 11:43
Hallo!
Ich hab seit einiger Zeit das Problem, das sich Leute regestrieren, um dann in Profilfeldern wie Ort www-Addressen einzutragen, um damit Werbung zu machen....
Gibt es eine Möglichkeit Zeichenfolgen wie bei einem Formular zu unterbinden?
Also z.B. "www" oder "http" oder einen Punkt, der ja in einem Profilfeld "Ort" nichts verloren hat?! Macht man das mit der Einstellung "Regulärer Ausdruck", wenn ja, dann wie? :o
Dann noch eine Frage, ich hab im Nachhinein die max. Zeichenanzahl von dem Profilfeld "Ort" verkleinert, wie erreiche ich, das dann ältere Einträge entsprechend gekürzt werden?
Danke schonmal für jegliche Hilfe!
StGaensler
18.10.2007, 11:40
Hallo,
ich würde in diesem Profilfeld nur noch Groß- und Kleinbuchstaben, sowie ein Leerzeichen zulassen: ^[A-Za-z ]+$ Wenn du nett bist, kannst du ja Zahlen auch noch erlauben ;): ^[A-Za-z0-9 ]+$ und wenn du es ganz genau nehmen willst, darf (mit Fragezeichen) / muss (ohne Fragezeichen) auch nur der erste Buchstabe eines Wortes großgeschrieben werden: ^[A-Z]?[a-z]+( [A-Z]?[a-z]+)+$
Reicht das an regulären Ausdrücken? :)
Viele Grüße,
Stefan
silencerdeluxe
18.10.2007, 12:41
Danke schonmal, 3 Fragen hab ich aber leider noch:
1.
Da ich noch ein Profilfeld "Spiele" habe, würde ich gern dort nur Buchstaben + Lerrzeichen + Semikolum + Komma zulassen, ansonste keine Zeichen(damit nicht wieder www.viagra.com eingetragen wird)? Wäre das in etwas so richtig: ^[A-Za-z ]+$+,+;
2. Wie aktualisiere ich das, wiegesagt, das es im nachhinein für alle gültig wird? Ich hab z.B. die Zeichenanzahl verringert, für Leute die aber vorher schon einen längeren Ortsnamen eingegeben haben, gilt dies nicht? Welche Wartungsfunktion überprüft das im nachhinein?
3. Ich brauch für das Feld Wohnort auch Umlaute, schon allein für mich als Kölner :)
StGaensler
18.10.2007, 18:26
1. Nicht ganz. ^ steht für den Anfang der Zeichenkette, $ steht für das Ende. Dazwischendrin steht, was erlaubt ist. Ich erlaube eine Gruppe von Zeichen, die ich mit [ ] markiere, und diese Zeichen dürfen 0 mal oder mehr vorkommen, das besagt das +. Somit müsste der Regex-Ausdruck so aussehen: ^[A-Za-z,; ]+$
2. Dafür hatte ich vorhin leider keine Zeit mehr...
Das wird duch keine Wartungsfunktion überprüft, das wird bei der Eingabe überprüft.
Dieser Query erledigt das (mache sicherheitshalber eine Sicherung der Tabelle):
UPDATE userfield SET field2 = LEFT(field2, X);
X musst du durch die erlaubte Länge ersetzen.
3. Dann füge die auch noch mit ein: ^[A-Za-zÄäÖöÜü ]+$
Viele Grüße,
Stefan
vBulletin® v3.7.4, Copyright ©2000-2008, Jelsoft Enterprises Ltd.