PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : welchen regulärer ausdruck?


franz_5
30.06.2003, 12:33:32
hallo!
ein string darf nur zahlen und einen beistrich, aber keine anderen zeichen enthalten; wie kann ich das mit einem reg.Ausdr. in php überprüfen?

danke franz

MiH
30.06.2003, 13:05:27
preg_match("|^[d-]+$|",$string);

als beistrich hab ich mal das minus genommen, da ich mit dem begriff nx anfangen konnte. :)

tapferesschneid
30.06.2003, 15:45:43
"|^[d-]+$|"

Könnte mir das jemand mal verständlich aufschlüsseln?

Habe sowas ähnliches schon in einer e-mail-Adresskontrolle, ohne genau zu wissen, wie es funktioniert.

$email_ok = '^[a-z0-9_.-]+@[a-z0-9_-]+.[a-z0-9_.-]+$';

MiH
01.07.2003, 08:48:14
| <- begrenzungszeichen
^ <- von anfang an
[d-]+ <- gruppe mit erlaubten zeichen, hier zahlen (d) und der strich, nur diese zeichen dürfen vorkommen
$ <- bis zum ende
| <- begrenzungszeichen

franz_5
01.07.2003, 11:12:28
funktioniert super - da wär nie darauf gekommen...

franz

galle
01.07.2003, 21:17:10
@ tapferesschneid

siehe zb hier wegen der aufschlüsselung:
http://www.selfphp.com/forum/forum/showthread.php?s=&threadid=3884

greetings,
frank
; ))))))))))))))))))))))))

|Coding
01.07.2003, 22:01:56
Original geschrieben von MiH
| <- begrenzungszeichen

das ist normalerweise ein "oder", sprich pattern "/^a(b|c)$/" findet

ab oder ac, aber nicht aC oder abc...


du meinst sicher den starting- bzw. ending- delimiter und der ist normalerweise /. das soll jetzt nicht heißen das deins falsch ist, aber es könnte gerade beginner verwirren, weil es (auch) oder heißt. im grunde könnte man alle zeichen ausser a-z und als starting- bzw. ending- delimiter verwenden.

also nur damit keiner verwirrt ist. das "|" heißt in MiH's Falle halt starting- bzw. ending- delimiter und "oder".