Heim  >  Artikel  >  Backend-Entwicklung  >  So validieren Sie die Eingabe von Zahlen und N Nachkommastellen mithilfe eines regulären Ausdrucks in PHP

So validieren Sie die Eingabe von Zahlen und N Nachkommastellen mithilfe eines regulären Ausdrucks in PHP

王林
王林Original
2023-06-24 08:31:381494Durchsuche

Wenn wir in PHP eine Eingabevalidierung implementieren möchten, insbesondere für Zahlen und Dezimalstellen, können wir zur Erfüllung dieser Aufgabe reguläre Ausdrücke verwenden. In diesem Artikel erfahren Sie, wie Sie reguläre Ausdrücke in PHP verwenden, um Zahlen und Eingaben mit N Nachkommastellen zu validieren.

Schauen wir uns zunächst ein relativ einfaches Beispiel an, wie man überprüft, ob eine Zeichenfolge eine reine Zahl ist:

<?php
$num = "123456";
if (preg_match("/^d+$/", $num)) {
    echo "是纯数字";
} else {
    echo "不是纯数字";
}
?>

Im obigen Code verwenden wir die Funktion preg_match, die zur Durchführung eines regulären Ausdrucksabgleichs verwendet wird. Der erste Parameter ist der reguläre Ausdruck und der zweite Parameter ist die zu vergleichende Zeichenfolge. Der in diesem Code verwendete reguläre Ausdruck ist /^d+$/, was bedeutet, dass eine Zeichenfolge abgeglichen werden soll, die mit einer Zahl beginnt und mit einer Zahl endet, und in der Mitte können mehrere Zahlen stehen. /^d+$/,含义是匹配以数字开头,以数字结尾的字符串,中间可以有多个数字。

接下来,验证小数点后 N 位的输入,我们可以使用如下代码:

<?php
$num = "3.14";
if (preg_match("/^d+(.d{1,2})?$/", $num)) {
    echo "是小数点后两位的数字";
} else {
    echo "不是小数点后两位的数字";
}
?>

上述代码中,我们使用了和上面类似的方式去验证输入值是否符合规定。正则表达式 /^d+(.d{1,2})?$/d+ 表示匹配多个数字,. 表示匹配小数点,d{1,2} 表示匹配 1 到 2 个数字,(.d{1,2})? 表示小数部分可选。

如果我们需要验证小数点后 3 位或更多位,只需要将上述代码中 d{1,2}

Als nächstes können wir den folgenden Code verwenden, um die Eingabe von N Nachkommastellen zu überprüfen:

<?php
function validate_number($num, $decimal_digits) {
    $pattern = "/^d+(.d{1,$decimal_digits})?$/";
    return preg_match($pattern, $num);
}

$num = "3.14159";
if (validate_number($num, 3)) {
    echo "是小数点后 3 位的数字";
} else {
    echo "不是小数点后 3 位的数字";
}
?>

Im obigen Code verwenden wir eine ähnliche Methode wie oben, um zu überprüfen, ob der Eingabewert die Anforderungen erfüllt. Im regulären Ausdruck /^d+(.d{1,2})?$/ bedeutet d+ die Übereinstimmung mehrerer Zahlen und . bedeutet passender Dezimalpunkt, d{1,2} bedeutet Übereinstimmung von 1 bis 2 Zahlen, (.d{1,2})? bedeutet, dass der Dezimalteil optional ist.

Wenn wir drei oder mehr Ziffern nach dem Dezimalpunkt überprüfen müssen, müssen wir nur d{1,2} im obigen Code auf die erforderlichen Ziffern ändern.

In der tatsächlichen Entwicklung können wir die Verifizierungslogik zur einfachen Wiederverwendung auch in eine Funktion kapseln. Der Code lautet wie folgt:

rrreee

Im obigen Code kapseln wir die Verifizierungslogik in eine Funktion namens „validate_number“, wobei $num The ist Zu validierender Eingabewert, $decimal_digits ist die Anzahl der zulässigen Stellen nach dem Dezimalpunkt. Der oben erwähnte reguläre Ausdruck wird intern zur Überprüfung verwendet. 🎜🎜Zusammenfassung🎜🎜Anhand des obigen Beispiels können wir sehen, dass es sehr einfach ist, reguläre Ausdrücke zum Überprüfen von Zahlen und Dezimalstellen in PHP zu verwenden. Entwickler müssen lediglich herausfinden, was sie überprüfen möchten, und dann den entsprechenden regulären Ausdruck schreiben. In der tatsächlichen Entwicklung können wir auch die Wiederverwendbarkeit von Code verbessern, indem wir Funktionen kapseln. 🎜

Das obige ist der detaillierte Inhalt vonSo validieren Sie die Eingabe von Zahlen und N Nachkommastellen mithilfe eines regulären Ausdrucks in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn