【问题标题】:How to use preg_match to validate Kenyan phone numbers?如何使用 preg_match 验证肯尼亚电话号码?
【发布时间】:2018-02-13 10:31:48
【问题描述】:

我想在注册表单中添加一个电话号码。

用户需要输入用户名、电子邮件、电话号码和密码。所有这些字段都是必需的,包括电话号码。

我在肯尼亚,所以我想将电话号码限制为 13 个字符,包括 +(符号)。

数字应该是:+25470164XXXX OR 070164XXXX 这两种格式都可以接受。

请帮助我如何使用 PHP 中的 preg_match 函数来实现这一点。

这是我目前使用的:

if (preg_match('/^(\+254|0)[1-9]\d{13}$/', $phone_number) ) {
    echo json_encode( array( 'success' => false, 'msg' => esc_html__('Invalid Phone Number (do not use letters, special characters or spaces)!', 'houzez-login-register') ) );
    wp_die();
}

【问题讨论】:

  • 你能用文字描述一下格式是什么吗?仅从您的示例很难理解。

标签: php regex validation preg-match phone-number


【解决方案1】:

简单的解决方案是:

preg_match('/^(\+254|0)\d{9}$/', $phone_number);

或许更好

preg_match('/^(\+254|0)[1-9]\d{8}$/', $phone_number);

请自行应用更多规则。

【讨论】:

  • 试图提供帮助。你说得对,RE 是次优的,应该有九位数字的规则,[1-9]\d{8} 或更复杂。
猜你喜欢
  • 2022-01-07
  • 2015-06-04
  • 1970-01-01
  • 2015-07-13
  • 1970-01-01
  • 1970-01-01
  • 2022-01-07
  • 1970-01-01
  • 2013-03-13
相关资源
最近更新 更多