验证字符串是PHP中的二进制数

时间:2012-01-09 07:43:39

标签: php string binary validation

在PHP中,bindec()函数可用于将二进制数转换为十进制数,但没有错误检查来测试二进制数字符串是否有效。会发生什么,像bindec('1051');之类的东西会返回5而不是错误。

是否有一种有效的方法来验证该数字是否为二进制字符串?

2 个答案:

答案 0 :(得分:5)

if (preg_match('~^[01]+$~', $num)) {
    // valid binary number
}

答案 1 :(得分:2)

这应该做:

if(preg_match("/^[0-1]+$/", $var)) { 
   // do something 
}