不使用正则表达式的PHP验证表单

不使用正则表达式的PHP验证表单,php,Php,我正在处理HTML表单,然后我将它发送到我的php脚本,在那里我应该检查HTML表单中的值是否为十进制。如果不是,php应该使用红色字体颜色的echo打印,如果正确,则使用标准黑色字体打印 首先,我不能使用正则表达式来检查它是否正式有效。 有什么线索吗?有几种方法可以做到这一点: <?php $values = [ '1', '1.1', '.11', 'foo' ]; foreach( $values as $value ){ if( $valu

我正在处理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>';
    }
}

如果无法使用正则表达式,请删除正则表达式标记PHP的is_numeric()函数如何?到现在为止你都有什么?请加上你的代码,我试着用它来表示十进制。但我还有其他输入:“验证它是否是三元数字”和“c#object attribute reference”…因此,添加到您的问题中,然后我们可以帮助您可能
substr_count($value),。)==1,而不是
!(false===strpos($value,,)
-我几乎用它回答了一个问题,然后意识到它与第二个问题太相似了。无论如何,它看起来都像
false!==strpos($value,,)
更具可读性。