[英]PHP Validation form without using a regex
我使用 HTML 表單,然后將其發送到我的 php 腳本,在那里我應該檢查來自 html 表單的值是否為十進制。 如果沒有,php 應該使用帶有紅色字體顏色的 echo 打印它,如果使用標准黑色字體是正確的..
首先,我不能使用正則表達式來檢查它是否正式有效。 有什么線索嗎?
有幾種方法可以實現:
<?php
$values = [
'1',
'1.1',
'.11',
'foo'
];
foreach( $values as $value ){
if( $value > floor($value) ){
echo '<p>is decimal</p>';
}else{
echo '<p style="color:red">not decimal</p>';
}
}
echo '<hr>';
foreach( $values as $value ){
if( is_numeric($value) && (1 === substr_count($value, '.')) ){
echo '<p>is decimal</p>';
}else{
echo '<p style="color:red">not decimal</p>';
}
}
第一種方法只是將值與自身的floor()
版本進行比較。
或者,檢查值是否為is_numeric()
然后檢查字符串是否有小數。
編輯:按照@ArtisticPhoenix 的建議,將第二種方法從substr()
更改為substr_count()
因為可能存在 >= 兩位小數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.