我试图在PHP中检测以检查输入中是否有任何负数.
我知道输入只是一个数字,而不是很容易检查,但是当有数字的字符串时,如何检查.
example --- "This is a negative number -99"
Run Code Online (Sandbox Code Playgroud)
那么现在如何检查该行中是否存在负数.
我这样想,但没有成功---
$post_data = "This is -12";
if (preg_match('/^\d+$/D', $post_data) && ($post_data < 0)) {
echo "negetive integer!";
} else {
echo 'not working';
}
Run Code Online (Sandbox Code Playgroud)
预期结果 -
Detect if there is any -number like -1, -5, -15 .....
Run Code Online (Sandbox Code Playgroud)
谁知道如何解决这个问题!
试试这个:
if (preg_match('/\-[\d]+/', $post_data)){
echo "negetive integer!";
} else {
echo 'not working';
}
Run Code Online (Sandbox Code Playgroud)
首先,你正在使用^,这意味着数字应该在字符串的开头,而不是这里的情况.所以我们先删除它.然后我们删除$符号,因为负数可以出现在字符串中的任何位置,而不仅仅是在结尾处.接下来,我们使用连字符( - )告诉正则表达式该数字应该有一个减号作为前缀,将其标记为负数.
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |