在 PHP 中验证英国电话号码

2023-12-12

我购买了联系表。很棒的小事情,但我需要转换电话号码的验证以允许英国号码格式 - 换句话说,允许空格。

现在它的验证不带空格,最小长度为 8 个字符:

if(is_numeric($phone))
{
    if(!$phone || strlen($phone) < 8)
    {
        $error .= "Please enter your phone number without spaces.<br />";
    }
}
else
{
    $error .= "Please enter numeric characters in the phone number field.<br />";
}

电话号码对于正则表达式模式来说通常很糟糕,而这正是您所需要的。

该模式例如:

$pattern = "/^(\+44\s?7\d{3}|\(?07\d{3}\)?)\s?\d{3}\s?\d{3}$/";

$match = preg_match($pattern,$input);

if ($match != false) {
    // We have a valid phone number
} else {
    // We have an invalid phone number
}

该模式将与包含或不包含的 +44 匹配,例如

所有这些都将匹配:

07222 555555

(07222) 555555

+44 7222 555 555

这些不会

7222 555555

+44 07222 555555

(+447222) 555555

有很多网站提供正则表达式的教程/备忘单等,请尝试其中一些:

http://regexlib.com/Default.aspx

还有一个非常好的堆栈溢出帖子:

用于电话号码验证的综合正则表达式

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 PHP 中验证英国电话号码 的相关文章

随机推荐