簡體   English   中英

在Codeigniter表單驗證中檢查輸入的號碼是否有效

[英]Check if input number is valid in Codeigniter Form Validation

您能幫我驗證我的輸入號碼是否有效。

它可以是整數,也可以是十進制數,但間隔為0.5,因此0.5、1.5、2.5可以,但.2,1.3,2.6無效。

if ((preg_match('/^\d+\.\d+$/',$bkpoints))  || (preg_match('/^\.\d+$/',$bkpoints)))
{       {
    if ($bkpoints % 0.5 !== 0)
    {
          $this->form_validation->set_message('is_bk_decimal','Bk points decimal value should be incremented by 0.5');
          return false;
    }

 }
 return true;

您可以使用一個正則表達式^\\d+(?:\\.[05]0*)?$

if(preg_match('#^\d+(?:\.[05]0*)?$#', $bkpoints)){
    echo 'valid';
}

說明:

  • ^ :行首
  • \\d+ :一次或多次匹配一個數字
  • (?:非捕獲組的開始
    • \\. :匹配一個點
    • [05] :匹配05
    • 0 :匹配0零或更多次
  • ) :非捕獲組的結尾
  • ? :使組可選
  • $ :行尾

在線正則表達式演示

嘗試在PHP中使用is_numeric()函數: http : //php.net/manual/zh/function.is-numeric.php

如果數字是有效數字,則返回true;否則,返回false。

或者,您也可以使用ereg()函數:

if(ereg("^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$", "0.9")){
  echo "number";
}else{
  echo "not a number";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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