用PHP验证正则表达式电话号码

Ben*_*aro 0 php regex

这是我昨天提出的上一个问题的另一个问题.我希望允许用户以下列格式键入美国电话号码.

(800)-555-1212

800-555-1212

并让它只检查数据库中的数字8005551212

我见过像正则表达式那样 /^[\+]?([0-9]*)\s*\(?\s*([0-9]{3})?\s*\)?[\s\-\.]*([0-9]{3})[\s\-\.]*([0-9]{4})[a-zA-Z\s\,\.]*[x\#]*[a-zA-Z\.\s]*([\d]*)/

可能有用,但我不确定如何从我提供的链接中将其实现到代码中

我是php的新手,对正则表达式一无所知.任何帮助表示赞赏.

Don*_*kis 11

此功能验证电话号码,如果验证则返回true,如果无效则返回false.这个功能非常简单,我写信给.

    /**
     * @param $number
     *
     * @return bool
     */
    function validatePhoneNumber($number) {
        $formats = [
            '###-###-####', '####-###-###',
            '(###) ###-###', '####-####-####',
            '##-###-####-####', '####-####', '###-###-###',
            '#####-###-###', '##########', '#########',
            '# ### #####', '#-### #####'
        ];

        return in_array(
            trim(preg_replace('/[0-9]/', '#', $number)),
            $formats
        );
    }
Run Code Online (Sandbox Code Playgroud)