[英]Check to see if string is an integer (includes negative numbers) PHP
下面的函數檢查字符串是否為整數,意味着它僅應包含數字。 但是它不會檢查number是否為負(負數也應該返回true,因為它們是整數)。
function validateInteger($value)
{
//need is_numeric to avoid $value = true returns true with preg_match
return is_numeric($value) && preg_match('/^\d+$/', $value);
}
我運行測試並得到結果:
'12.5' => FALSE
12.5 => FALSE
'a125' => FALSE
'125a' => FALSE
'1a2.5' => FALSE
125 => TRUE
'abc' => FALSE
false => FALSE
true => FALSE
'false' => FALSE
'true' => FALSE
null => FALSE
'null' => FALSE
'1231' => TRUE
-1231 => FALSE (SHOULD RETURN TRUE)
'-1231' => FALSE (SHOULD RETURN TRUE)
我不想使用itnval() < 0
。 我希望正則表達式也可以檢查負數。
謝謝
編輯:
我還有一個validateFloat
函數,如果給定數字為浮點數,則返回true,這意味着它只能包含數字和點 。 我還需要對此應用相同的邏輯,以便對於負浮點數返回true
is_int
對您來說還不夠好嗎?
filter_var($input, FILTER_VALIDATE_INT)
應該具有相同的效果,但也可以在字符串上使用。
只需使用is_numeric(abs($val))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.