Heim > Artikel > Backend-Entwicklung > So erkennen Sie in PHP, ob eine Zeichenfolge nur Zahlen enthält
Zwei Methoden: 1. Verwenden Sie is_numeric(), um zu erkennen, ob eine Zeichenfolge eine numerische Zeichenfolge ist. Die Syntax lautet „is_numeric (Zeichenfolge)“. Wenn TRUE zurückgegeben wird, enthält sie nur Zahlen. 2. Verwenden Sie preg_replace() mit regulären Ausdrücken, um Zeichen zu filtern, numerische Zeichen zurückzugeben und eine numerische Zeichenfolge zu bilden. Verwenden Sie „===“, um zu vergleichen, ob die numerische Zeichenfolge und die ursprüngliche Zeichenfolge gleich sind Ziffern. Die Syntax „preg_replace( „/[^0-9]/“, „“,string)===string“.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, DELL G3-Computer
Zwei Methoden für PHP, um zu erkennen, ob eine Zeichenfolge nur Zahlen enthält:
Methode 1: Verwenden Wenn die Funktion is_numeric( ) erkennt, dass die Zeichenfolge
nur Zahlen enthält, handelt es sich bei der Zeichenfolge dann um eine numerische Zeichenfolge.
Die Funktion is_numeric() kann erkennen, ob eine Zeichenfolge eine numerische Zeichenfolge ist.
is_numeric ($var)
$var
: Die zu erkennende Variable. $var
:要检测的变量。
如果指定的变量$var
是数字和数字字符串则返回 TRUE,否则返回 FALSE
<?php header("Content-type:text/html;charset=utf-8"); $str1="a678"; $str2="678"; $str3="3.14"; if (is_numeric($str1)){ echo "$var_name1 是数字字符串<br><br>"; } else{ echo "$str1 不是数字字符串<br><br>" ; } if (is_numeric($str2)){ echo "$str2 是数字字符串<br><br>"; } else{ echo "$str2 不是数字字符串<br><br>"; } ?>
方法2:使用preg_replace()函数和“===”运算符检测
使用preg_replace()函数配合正则表达式可以过滤字符,返回数字字符,组成一个数字字符串
使用“===”运算符比较数字字符串和原字符串是否相等,相等则字符串只含数字
<?php header("Content-type:text/html;charset=utf-8"); function f($str){ $result = preg_replace("/[^0-9]/", "", $str); if($result===$str){ echo "$str 字符串中只含数字<br><br>"; } else{ echo "$str 字符串中还有其他字符<br><br>" ; } } f("a678"); f("678"); ?>
preg_replace("/[^0-9]/", "", $str)
的意思为匹配除了0~9
Wenn die angegebene Variable $var
eine Zahl oder eine numerische Zeichenfolge ist, gibt sie TRUE zurück, andernfalls FALSE
preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])Methode 2: Verwenden Sie zur Erkennung die Funktion preg_replace() und den Operator „==="
Verwenden Sie die Funktion preg_replace() mit regulären Ausdrücken, um Zeichen zu filtern, numerische Zeichen zurückzugeben und eine numerische Zeichenfolge zu bilden.
Verwenden Sie den Operator „===", um zu vergleichen, ob die numerische Zeichenfolge und die ursprüngliche Zeichenfolge übereinstimmen gleich. Wenn sie gleich sind, enthält die Zeichenfolge nur Zahlen
preg_replace("/[^0-9]/", "", $str)
bedeutet Übereinstimmung mit Ausnahme von 0 ~9
Zeichen außer Zahlen dazwischen einfügen und diese Zeichen durch Nullzeichen ersetzen, d. h. diese Zeichen löschen. Dann bleiben nur noch numerische Zeichen übrig.
Das obige ist der detaillierte Inhalt vonSo erkennen Sie in PHP, ob eine Zeichenfolge nur Zahlen enthält. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!