RegEx:Regulärer usdruck falsch?

ExAByte

Mitglied
Hallo,

ich persönlich avanciere ja immer mehr zu RegEx. Auch wenn es manchmal schwer fällt - aber wir geben ja nicht so leicht auf.
So, daher meine Frage.
Ich habe einen String (übergeben aus einer Formmaske). Mein kleiner regulärer Ausdruck (jetzt schon zig mal umgestellt) soll folgendes prüfen.

Der Ausdruck darf keine Zahlen [0-9] enthalten, keine Sonderzeichen (ÖÄ@ etc.) und keine Leerstellen oder Punkte.

Folgende RegExp prüfen aber falsch

if(!eregi("[a-zA-Z]",$string)) { //Hier werden Leerstellen und Sonderzeichen zugelassen

if(!eregi("^[a-zA-Z]$",$string)) { //dito
if(!eregi("^[a-zA-Z]",$string)) //dito
if(!eregi("[a-zA-Z]$",$string)) //dito
if(!eregi("[a-zA-Z[space]",$string)) { // dito

Hat jemand eine Idee diese Prüfung durchzuführen? Im Grund sind nur Buchstaben ohne Sonderzeichen im gesamten String erlaubt auch KEINE Ös etc.)!

Greetings ExAByte
 
PHP:
<?
if(!ereg("^([[:digit:])$",$string) || !ereg("^([[:space:])$",$string)) {
// tu was
}
?>

zu den umlauten fällt mir im moment nix ein

ach doch:

PHP:
if(!ereg("^([ÄäÖöÜü])$",$string)) {
// tu was
}
 
Zuletzt bearbeitet:
Gefunden!

Ok, danke erst mal aber ich habe die richtige Lösung gefunden ;-)

es ist:

if(eregi("^[a-zA-Z][a-z]{2,}$",$string, $match)) {

Damit wird das Gefunden was ich suchte, es sind NUR Buchstaben gültig die im bereich a-z liegen, es müssen für den gesamten String mindestens 3 Buchstaben sein, keine Sonderzeichen dürfen enthalten sein und keine Leerstellen.

Ergo, es passen nur Buchstaben, davon aber mindestens 3...
Wer es braucht, kann sich ja hier bedienen ;-)
 
Zuletzt bearbeitet:
Zurück