关于手机号的校验
最近在对接海外手机号注册的业务,需要用到校验海外手机号这部分,为此写出来仅供参考哦!!!
平常我们用到的手机号校验是
$phone = strtr( $phone, array( '-' => '', ' '=> '', '(' => '', ')' => '' ) );
$pattern = '/^(?:\+?0?86)?(?:17951)?(1\d{10})$/';
if ( preg_match( $pattern, $phone, $matches ) ) {
return $matches[1];
}
那如果遇到海外手机号的校验我们可以引入这样一个包 LibPhoneNumber(一个Google的PHP库用于解析、格式、存储和验证国际电话号码)
composer require giggsey/libphonenumber-for-php
安装完扩展包之后可以在实现过程中引入包之后,传入处理过的手机号进行校验即可
$phoneNumberObject = $phoneNumberpackage->parse('处理好的手机号变量', null);
if ($phoneNumberUtil->isValidNumber($phoneNumberObject)) {
eturn '区号' . '-' . '手机号码';
} else {
return FALSE;
}
此外 正则表达式验证email格式可以写成如下的格式:
return preg_match('#[a-z0-9&\-_.]+@[\w\-_]+([\w\-.]+)?\.[\w\-]+#is', $str) ? true : false;