String soll nur aus Zahlen bestehen und keine Leerzeichen haben.....

Ruediger

Erfahrenes Mitglied
hallo zusammen,

ich habe vergeblich gesucht, daher muß ich meine frage nun doch posten.

Ich habe einen String, den ein beliebiger User zuvor eingegeben hat. Gültigkeit sollen aber nur die Strings haben, die

a) nur aus Zahlen (0-9) bestehen
b) keine Leerzeichen haben
c) insgesamt maximal 5 Zeichen lang sind

c) habe ich bereits durch strlen gelöst. Aber die anderen nicht.

Wer kann helfen???
lieben Dank
ruediger
 
PHP:
if (!preg_match("^([0-9]){5,}$", $strng)) $ungueltig = 1;

Dann bracuhst du auch nicht mehr die Prüfung mit strlen.
Is abba ungetestet :rolleyes:
 
Zuletzt bearbeitet von einem Moderator:
reima: das mit dem {1,5} schnall ich ja, aber wozu die (back)slashes? ist das reine syntax-sache oder haben die irgendeine tiefere bedeutung?
 
die nennen sich delimiter, weil sie den suchausdruck eingrenzen... kann man auch andere zeichen nehmen, ich z.B. nehm gerne das = GLeichheitszeichen..
 
String soll keine Leerzeichen und nur Zahlen beinhalten - geht immer noch nicht...

hallo zusammen,

wie in meinem letzten posting tüftel ich immer noch an einem string-check rum.

es soll

a) nur aus Zahlen (0-9) bestehen
b) keine Leerzeichen haben
c) insgesamt maximal 5 Zeichen lang sind

ich habe jetzt folgendes zwischenergebnis (sind zwei preg_match abfragen, wahrscheinlich würde eine reichen, aber dann geht es gar nicht :-(

PHP:
if (preg_match("/^[0-9]*$/s", $plz))
	{
		$error = "";
	} else 
	{
		$error = "1";
	}
	
	if (!preg_match("/^[0-9]{1,3}\$/", $plz)) 
	{
		$error = "";
	} else 
	{
		$error = "1";
	}

ich bekomme einen error, wenn ich zu wenig zahlen eingebe. aber wenn ich zum beispiel 123aa eingebe, zeigt er mir keinen error?!?

vielen dank für eure hilfe
ruediger
 
PHP:
<?
$plz = "12345";

if(preg_match("=(^\d{5}$)=",$plz)) {
	echo "g&uuml;ltig";
} else {
	echo "ung&uuml;ltig";
}
?>

*edit*
das bord zerhaut den regex ... ^^
richtigerweise müsste vor dem d noch ein backslash: (^\d
 
Zuletzt bearbeitet:
Zurück