2010-04-23 11 views

Antwort

7
$pattern = '/^[0-9 ]+$/'; 

if (preg_match ($pattern, $text)) 
{ 
    echo 'allowed'; 
} 

Edit:

Wenn Sie auf 15 Zeichen beschränken möchten (wie Sie in einem Kommentar erwähnt) können Sie verwenden {} eine min und max Länge zu begrenzen.

Muster wird:

$pattern = '/^[0-9 ]{1,15}$/'; 

1 bis 15 Zeichen zu ermöglichen.

4

sollte diese Arbeit:

^[\s\d]*$ 

Sie sollten wahrscheinlich angeben, wenn Sie „null oder mehr“ oder „ein oder mehrere“ Räume wollen. Das obige ermöglicht, dass ein leerer String die Bewertung besteht.

+0

Dieser ist genau wie der, den ich gepostet habe, außer dass leere Strings übergeben werden können, und Tabulatoren anstelle von Leerzeichen, wenn sie passieren. – DevelopingChris

+0

\ s erlaubt alle Arten von Zeichen, vorausgesetzt, er will nur 'Raum' (0x32) erlauben, es ist nicht genug. –

5

Die Regex ist wie folgt.

/^[\d ]+$/i 

zu beantworten, wie Sie es in PHP laufen, muss ich den Kontext kennen, müssen Sie es auf einer einzelnen Zeile oder mehreren Leitungen Eingang laufen? Brauchst du es in einer Schleife zu laufen?

+0

einzige Zeile nur etwa 15 Zeichen – Avinash