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

新手上路,请多包涵

我想获取整数值的长度以在 PHP 中进行验证。示例:手机号码只能是 10 个整数值。它不应超过 10 或少于 10,也不应包含字母字符。

我怎样才能验证这一点?

原文由 GitsD 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 646
2 个回答
if (preg_match('/^\d{10}$/', $string)) {
  // pass
} else {
  // fail
}

原文由 Alex Howansky 发布,翻译遵循 CC BY-SA 2.5 许可协议

通过使用 Webmozart Assert 的断言库,我们可以使用它们的内置方法来验证输入。

  • 使用 integerish() 验证值是否转换为整数
  • 使用 length() 来验证字符串是否包含一定数量的字符

例子

Assert::integerish($input);
Assert::length((string) $input, 10); // expects string, so we type cast to string

Assert 类中的所有断言都会抛出 Webmozart\Assert\InvalidArgumentException 如果它们失败,我们可以捕获它并向用户传达明确的信息。

例子

try {
    Assert::integerish($input);
    Assert::length((string) $input, 10);
} catch (InvalidArgumentException) {
    throw new Exception('Please enter a valid phone number');
}

另外,甚至可以检查该值是否不是非负整数。

例子

try {
    Assert::natural($input);
} catch (InvalidArgumentException) {
    throw new Exception('Please enter a valid phone number');
}

我希望它有帮助🙂

原文由 Stefano Degenkamp 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题