【发布时间】:2013-04-28 23:33:03
【问题描述】:
我正在尝试使用filter_var() 过滤整数,但在这种情况下:
echo filter_var('-3-6-5', FILTER_SANITIZE_NUMBER_INT); // Output: -3-6-5
我希望得到 -365 而不是 -3-6-5。
有人知道如何解决这个问题或有正则表达式吗?
感谢您的帮助!
【问题讨论】:
-
为什么会这样?一些上下文会有所帮助...
-
@elclanrs,我正在尝试清理一些变量,然后验证它们
-
@Marcio Simao:
-3-6-5应该验证失败。您应该向用户显示一条错误消息,而不是试图猜测他们的意思 -
函数按定义工作:“删除除数字、加号和减号之外的所有字符”。例如过滤
-3-6+5a也会给你-3-6+5。它并没有声称给你一个有效的号码,只是可能是一个有效的号码。
标签: php regex filter-var