首頁  >  文章  >  後端開發  >  php怎麼檢測字串是否只含數字

php怎麼檢測字串是否只含數字

青灯夜游
青灯夜游原創
2022-08-12 19:52:123001瀏覽

兩種方法:1、用is_numeric()偵測一個字串是否為數字字串,語法“is_numeric (字串)”,如果傳回TRUE則只含數字。 2.用preg_replace()配合正規表示式過濾字符,傳回數字字符,組成數字字串,用「===」比較數字字串和原字串是否相等,相等則只含數字,語法「preg_replace( "/[^0-9]/","",字串)===字串」。

php怎麼檢測字串是否只含數字

本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦

php偵測字串是否只包含數字的兩種方法:

方法1:使用is_numeric()函數偵測

字串只含數字,則該字串為數字字串。

而is_numeric()函數可以偵測一個字串是否為數字字串。

is_numeric ($var)
  • $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>";
}
?>

php怎麼檢測字串是否只含數字

方法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間的數字以外的字符,並將這些字符替換為空字符,即刪除這些字符即可。那就只剩下數字字元了。

php怎麼檢測字串是否只含數字

說明:preg_replace 函數執行一個正規表示式的搜尋和替換,是一個強大的字串替換處理函數,該它的語法格式為

preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])

搜尋subject 中符合pattern 的部分, 以replacement 替換。

參數說明:

  • $pattern: 要搜尋的模式,可以是字串或字串陣列。

  • $replacement: 用於替換的字串或字串陣列。

  • $subject: 要搜尋已取代的目標字串或字串陣列。

  • $limit: 可選,對於每個模式用於每個 subject 字串的最大可替換次數。預設是-1(無限制)。

  • $count: 可選,為替換執行的次數。

推薦學習:《PHP影片教學

以上是php怎麼檢測字串是否只含數字的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn