首页 > 解决方案 > 验证波兰和外国手机号码

问题描述

我有以下问题,我需要为波兰和外国手机号码创建一个验证器,但我不知道该怎么做。波兰号码的验证工作正常,不幸的是我不知道如何添加外国号码。我的代码:

$result = preg_match('/^((\+|0\s?0)\s?4\s?8)?[\s\-0-9]+$/', $phone);
    if (1 === $result) {
        $phone = preg_replace('/(\s|\-)/', '', $phone);

        if (null === $phone) {
            throw new InvalidArgumentException(sprintf('preg_replace error: %s', preg_last_error()));
        }

        $result = preg_match('/^((\+|00)48)?[0-9]{9}$/', $phone);
        if (1 === $result) {
            return;
        }
    } elseif (false === $result) {
        throw new InvalidArgumentException(sprintf('preg_match error: %s', preg_last_error()));
    }

可以这样做,如果只给出 9 位数字,我们认为这是波兰数字,我们会收到 +48。在所有其他情况下,我们需要一个以 00 或 + 开头的前缀。

标签: phpvalidation

解决方案


推荐阅读