Seite 1 von 1

Valedierung Felder Bindestrich geht nicht

Verfasst: 30.08.2011, 08:53
von Hormann
Hallo Leute,

ich scheitere an einer bestimmt simplen Schreibfehler in meinem Script:

Ich möchte das nur Buchstaben Leerzeichen und Bindestriche eingegeben werden können. Nur leider klappt es mit den Bindestrichen nicht.

Wo ist mein Fehler?

Code: Alles auswählen

if(xfa.event.newText.match(/[^a-zA-Z+"-"+" "]/)){
 xfa.event.change = "";
}
Danke Vorab

Steffi

Valedierung Felder Bindestrich geht nicht

Verfasst: 30.08.2011, 10:33
von armine
Hallo Steffi,

versuche mal

 [font=courier new]Formular1.TF1.Textfeld1::change - (JavaScript, client)

if (xfa.event.change.match(/^[a-zA-Z|\s|-]+$/) == null) {
    xfa.event.change = "";
    xfa.host.beep("3");
}[/font]

vg armine

Valedierung Felder Bindestrich geht nicht

Verfasst: 30.08.2011, 11:35
von Hormann
Danke Armine,

funktioniert Super!

Nur leider Verstehe ich nicht was dieser Abschnitt |\s|-]+$/ und dieser xfa.host.beep("3") bedeuten.
Kannst du mir das vielleciht kurz erklären.

Danke dir nochmal echt klasse.

Gruß

Steffi

Valedierung Felder Bindestrich geht nicht

Verfasst: 30.08.2011, 12:02
von armine
Hallo Steffi,

bau doch deine Regexp mithilfe von http://www.pagecolumn.com/tool/regtest.htm. Da stehen auch die Erklärungen.

|s|-]+$ sollte |\s|-]+$ sein

\s - matches whitespace; hier das Leerzeichen, würde auch einen Tab erkennen, der wird aber vom LCD abgefangen.

Die drei Möglichkeiten durch das Nadelör zu kommen( [a-zA-Z], \s und der Bindestrich) sind durch ein | getrennt.

+ sorgt dafür, dass es ein Zeichen sein muss (einen String per copy and paste zu übertragen geht also nicht).

^ erzwingt die Betrachtung am dem ersten Zeichen, bei $ ist Schluss.

Kann es sein, dass du auch einen Punkt zulassen willst?

Nun könnte man noch überlegen, dass immer mit einem Großbuchstaben angefangen wird, dass Bindestrich und Leerzeichen nicht nebeneinander und auch nicht am Anfang stehen durfen und vieles mehr.

Viel Glück
armine

Valedierung Felder Bindestrich geht nicht

Verfasst: 01.09.2011, 08:25
von Hormann
Danke echt Klasse Armine,

klasse nun Verstehe ich das auch. kannst du eine Literatur bzw. Webseite empfehlen mit solchen nützlichen Scripthinweisen.

Habe leider in der Schule nur HTML, PHP udn C++ gelernt.

Gruß

Steffi

Valedierung Felder Bindestrich geht nicht

Verfasst: 01.09.2011, 12:59
von armine
Hallo Steffi,

in PHP gibt es RegExp auch. Die umfangreichste Dokumentation habe ich unter
http://www.regular-expressions.info/ gefunden.
Zum Austesten bin ich am Liebsten auf http://www.pagecolumn.com/tool/regtest.htm – da kann die RegExp ganz einfach nach JavaScript übernommen werden.

vg armine

Valedierung Felder Bindestrich geht nicht

Verfasst: 09.10.2015, 20:05
von Andreas H.
Hallo,

bis hierhin (siehe Anlage) funktioniert das Skript, nur Eingabe von Buchstaben
Umlaute, Punkt und Runde Klammern erlaubt. Ich möchte aber erreichen, dass nur
folgende Eingabe möglich ist.

Der "Punkt" sollte nur nach einem Buchstaben möglich sein.

z.B   Anton A.   oder   Berta B.

und sowas "............." sollte nicht möglich sein!

Hat hier jemand eine Idee dazu?

Gruß
Andreas

 





Valedierung Felder Bindestrich geht nicht

Verfasst: 10.10.2015, 10:18
von armine
Hallo Andreas,

meinen Glückwunsch, du hast eine neue Spielwiese entdeckt. Mir erschließt sich gerade nicht, welchen Vorteil du dir vom Aufruf von zwei Funktionen im »change« versprichst und warum du mal »this« übergibst (du machst nichts damit), aber »bis hierhin (siehe Anlage) funktioniert das Skript« ist schon mal erfreulich.
Ich habe deine Kernidee aufgegriffen und exemplarisch einige Eingaben verhindert. Das solltest du um weitere Schikanen anreichern können.

vg armine

Valedierung Felder Bindestrich geht nicht

Verfasst: 10.10.2015, 10:56
von Andreas H.
Hallo armine,

mein Grinsen bekommen ich schon wieder nicht aus meinem Gesicht, wenn ich
betrachte, "was Du hier aus dem Ärmel geschüttelt hast".

Der "Baukasten" wird vorerst, für mich, einer bleiben und ich freue mich erneut über
deine Gabe.

"Es nützt nichts, sich die Schuhe eines Größeren anzuziehen. Deine Spuren bleiben
unverwechselbar."

Gruß
Andreas
 

Valedierung Felder Bindestrich geht nicht

Verfasst: 10.10.2015, 11:00
von Andreas H.
Nachtrag...

Ich sehe es als nette Geste und großes Entgegenkommen, die Skripte auskommentiert zu sehen.

Gruß
Andreas