簡體   English   中英

檢查字符串是否為整數(包括負數)PHP

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM