十进制数正则表达式,没有任何。 {dot or point}使用PHP

时间:2015-09-15 11:55:57

标签: php regex

例如,如果我有:

1.2
1.65
5
9.5
125

有效数字为5125

无效的数字:1.21.659.5

我一直在检查一个数字是否有小数。 我尝试了is_numeric,但接受了带小数的数字。

3 个答案:

答案 0 :(得分:1)

有可能尝试使用"uname -a"

strpos

或使用正则表达式尝试:

if (strpos($a,'.') === false) { // or comma can be included as well
    echo 'Valid';
}

取自here的例子。

答案 1 :(得分:1)

如果你确定数字变量是一个字符串,你可以使用is_int()检查它是否有效,或is_float()检查它是否无效。

但是如果你处理表单,例如变量通常是一个字符串,这使得它更难,这是一个简单的解决方案,适用于字符串,整数和浮点数:

if (is_numeric($number)) {
    //if we already know $number is numeric...
    if ((int) $number == $number) {
        //is an integer!!
    }
}

它也比正则表达式和字符串方法更快。

答案 2 :(得分:0)

使用is_float()功能查找无效号码