如何在PHP中获取整数的长度?

Git*_*tsD 28 php integer

我想获得PHP中验证的整数值的长度.示例:移动号码应该只有10个整数值.它不应超过10或小于10,也不应包含在字母字符中.

我该如何验证?

mdm*_*mdm 119

$num_length = strlen((string)$num);
if($num_length == 10) {
    // Pass
} else {
    // Fail
}
Run Code Online (Sandbox Code Playgroud)

  • 这是一个更好的答案. (6认同)

Ale*_*sky 31

if (preg_match('/^\d{10}$/', $string)) {
  // pass
} else {
  // fail
}
Run Code Online (Sandbox Code Playgroud)

  • 做$ string = preg_replace('/\D /','',$ string); 首先会让人们更多地允许人们进入空间和加号等而不会抛出错误. (3认同)
  • 这个解决方案有一个问题,如果前面的数字为0则不会将其视为10位数字,例如:0123456789 (2认同)

Rôm*_*ias 10

这几乎适用于所有情况(零除外),并且可以使用其他语言轻松编码:

$length = ceil(log10(abs($number) + 1)
Run Code Online (Sandbox Code Playgroud)


小智 6

在我看来,最好的方法是:

$length = ceil(log10($number))
Run Code Online (Sandbox Code Playgroud)

向上舍入的十进制对数等于数字的长度.

  • 除了10,100,1000等 (11认同)
  • 除负数:) (2认同)