【发布时间】:2015-06-06 21:22:01
【问题描述】:
我有一个 HTML 表单:
<input type="number" step="any" name="nearkm" value="000.000" onfocus="if(this.value == '000.000') { this.value = ''; }"></>
输入可以从 000.001 到 999.999
验证输入正确的search.php代码如下:
if (!isset($_GET["nearkm"]) || empty($_GET["nearkm"]) || (int) $_GET["nearkm"] == null)
该代码适用于包括 1 及以上的输入,但是,如果我输入 0.01 或任何小于 1 的值,则 if 条件失败。
我的问题是有没有更好的方法来检查输入,例如,使用正则表达式或其他函数?
【问题讨论】:
-
(int)0.01 == 0 == null
-
$_GET["nearkm"]返回一个字符串。如果您需要检查它是否是数字,请尝试使用PHP函数is_numeric():php.net/manual/en/function.is-numeric.php如果需要,还有is_null和is_float。
标签: php regex validation int