PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Reguläre Ausdrücke...


tokmarkOL
14.01.2007, 15:51:42
... bleiben für mich ein Buch mit sieben Siegeln...

Ich gebe in ein Textfeld einen String ein, der als Dateiname gelten soll. Wenn man diesen jedoch mit Copy&Paste in das Textfeld kopiert kann es passieren, dass Zeilenumbrüche u.ä. mitkopiert werden. Der Dateiname ist dann nicht benutzbar.

Ich möchte im Textfeld also lediglich a...z, A..Z, 0..9 und die einzigen Sonderzeichen eine Leerstelle " " und den Unterstrich "_" zulassen.

Hat zufällig jemand den regulären Ausdruck für mich parat? Das wäre sehr nett!

Socrates
14.01.2007, 15:59:36
Hallo!
Ließ mal http://tut.php-q.net/regex.html!
Dein Ausdruck für das Regex müsste heißen:

\w = [0-9a-zA-Z_]
= [\da-zA-Z_]

MfG, Andy

Serp
17.01.2007, 00:17:15
Damit schließt du dann aber das Leerzeichen aus. Der richtige Ausdruck wäre also

/[\w ]+/

CIX88
17.01.2007, 13:25:24
> Ich gebe in ein Textfeld einen String ein
Wenn das ein Input-Feld ist, wie sollen da Zeilenumbrüche entstehen ?

meikel (†)
17.01.2007, 13:38:14
> Ich gebe in ein Textfeld einen String ein
Wenn das ein Input-Feld ist, wie sollen da Zeilenumbrüche entstehen ?
Durch ein fremdes Script, welches einen POST Request sendet?

CIX88
17.01.2007, 13:40:28
Na dann ist es ja sogar noch praktisch, wenn es dann nicht geht :-)

Und eigentlich müsste es so sein: /^[\w ]+$/, soll ja sicherlich von Anfang bis Ende geprüft werden oder ?

KTB
18.01.2007, 08:32:15
Das ist ja hier wie mit Linux, jeder hat eine eigene Version :)

CIX88
18.01.2007, 09:13:01
Nö eigentlich nicht ...

copydigital
22.01.2007, 01:33:55
also ich würde mal von einem DFA ausgehen... also sieht das dann so aus:

^([a-z]|[A-Z]|[0-9]|[ ]|[_])+$

ich denke das müsste richtig sein.

CIX88
23.01.2007, 18:19:11
^^^ sorry aber das ist Blödsinn.
Deine Variante würde auch ein einzelnes Leerzeichen zulassen, glaube aber nicht, dass dies gewollt ist.