php中整数值和浮点值的验证
我正在检查整数和浮点的有效性。 preg('/^[0-9]+([0-9]+)?$/',$str) 这个很好用 12,12.05 但对我来说不是 有什么建议吗 提前感谢,, 库马尔。是的,试试这个:php中整数值和浮点值的验证,php,Php,我正在检查整数和浮点的有效性。 preg('/^[0-9]+([0-9]+)?$/',$str) 这个很好用 12,12.05 但对我来说不是 有什么建议吗 提前感谢,, 库马尔。是的,试试这个: if((int) $str != $str) { //error } if((float) $str != $str) { //error } 这应该可以做到,我想它比正则表达式工作得更快。另外,您可以在(float)$str之后检查另一个错误,等等 我敢打赌,对于更复杂的验证,正
if((int) $str != $str)
{
//error
}
if((float) $str != $str)
{
//error
}
这应该可以做到,我想它比正则表达式工作得更快。另外,您可以在(float)$str之后检查另一个错误,等等
我敢打赌,对于更复杂的验证,正则表达式必须使用标准例程编写一些代码块,例如电子邮件验证、掩码(模式)输入等。是的,请尝试以下方法:
if((int) $str != $str)
{
//error
}
if((float) $str != $str)
{
//error
}
这应该可以做到,我想它比正则表达式工作得更快。另外,您可以在(float)$str之后检查另一个错误,等等
我敢打赌,在更复杂的验证中,正则表达式必须使用标准例程编写一些代码块,例如电子邮件验证、掩码(模式)输入等等。
preg('/^[0-9]*(\.[0-9]+)?$/',$str)
+
表示元素将重复一次或多次,*
表示元素将重复零次或多次。请这样做
preg('/^[0-9]*(\.[0-9]+)?$/',$str)
+
表示元素将重复一次或多次,*
表示元素将重复零次或多次。您可以使用和的组合
然而,这两个问题几乎都包含在
例如:
<?php
if (is_float(27.25)) {
echo "is float\n";
} else {
echo "is not float\n";
}
var_dump(is_float('abc'));
var_dump(is_float(23));
var_dump(is_float(23.5));
var_dump(is_float(1e7)); //Scientific Notation
var_dump(is_float(true));
?>
is float
bool(false)
bool(false)
bool(true)
bool(true)
bool(false)
是浮动的
布尔(假)
布尔(假)
布尔(真)
布尔(真)
布尔(假)
例如:
<?php
if (is_int(23)) {
echo "is integer\n";
} else {
echo "is not an integer\n";
}
var_dump(is_int(23));
var_dump(is_int("23"));
var_dump(is_int(23.5));
var_dump(is_int(true));
?>
is integer
bool(true)
bool(false)
bool(false)
bool(false)
是整数
布尔(真)
布尔(假)
布尔(假)
布尔(假)
您可以使用和的组合
然而,这两个问题几乎都包含在
例如:
<?php
if (is_float(27.25)) {
echo "is float\n";
} else {
echo "is not float\n";
}
var_dump(is_float('abc'));
var_dump(is_float(23));
var_dump(is_float(23.5));
var_dump(is_float(1e7)); //Scientific Notation
var_dump(is_float(true));
?>
is float
bool(false)
bool(false)
bool(true)
bool(true)
bool(false)
是浮动的
布尔(假)
布尔(假)
布尔(真)
布尔(真)
布尔(假)
例如:
<?php
if (is_int(23)) {
echo "is integer\n";
} else {
echo "is not an integer\n";
}
var_dump(is_int(23));
var_dump(is_int("23"));
var_dump(is_int(23.5));
var_dump(is_int(true));
?>
is integer
bool(true)
bool(false)
bool(false)
bool(false)
是整数
布尔(真)
布尔(假)
布尔(假)
布尔(假)
您可以使用PHP的is_float和is_int函数来验证数字。您可以使用PHP的is_float和is_int函数来验证数字。我建议在PHP中使用is_numeric
函数来验证数字。比regex
函数
是数值的
对所有这些项目返回true:
整数<代码>$s=123代码>
包含整数$s='123'的字符串代码>
浮点整数<代码>$s=123.456代码>
带前导零的浮点整数$s='.456'代码>
负数$s='-.456'代码>
你可以看到它的作用。我建议是PHP中的数值函数,它比regex
函数具有更好的性能
是数值的
对所有这些项目返回true:
整数<代码>$s=123代码>
包含整数$s='123'的字符串代码>
浮点整数<代码>$s=123.456代码>
带前导零的浮点整数$s='.456'代码>
负数$s='-.456'代码>
您可以看到它的作用。您需要转义
,此正则表达式匹配空字符串。您需要转义
,此正则表达式匹配空字符串。