atsight / laravel-phone
使用免费Twilio电话查询服务的Laravel电话验证器。此分支支持Laravel 8.8
dev-master
2022-08-25 12:10 UTC
Requires
- php: >=7.2.5
- illuminate/container: ^6.0|^7.0|8.0
- illuminate/contracts: ^6.0|^7.0|8.0
- illuminate/support: ^6.0|^7.0|8.0
- illuminate/validation: ^6.0|^7.0|8.0
- twilio/sdk: ^6.0
Requires (Dev)
- graham-campbell/testbench: ^5.0
- mockery/mockery: ^1.2
This package is auto-updated.
Last update: 2024-09-25 17:10:38 UTC
README
简介
为Laravel 6+提供的电话验证器,使用免费的Twilio Lookup API。
此软件包为开发人员提供了验证电话号码和格式化电话号码的功能。所有数据都将从Twilio Lookup API获取。
验证可以配置为检查号码是否有效,或者是否在给定的ISO-3166-1 Alpha 2国家代码列表内。
安装
通过composer安装
composer require ellisio/laravel-phone
将您的Twilio凭证添加到您的.env文件中。如果您没有Twilio账户,您可以在这里免费注册一个。
TWILIO_ACCOUNT_SID=xxxxxxxx
TWILIO_AUTH_TOKEN=xxxxxxxx
配置
如果您想自定义此软件包的配置,可以运行以下命令将配置文件发布到/config/phone.php
php artisan vendor:publish --provider=EllisIO/Phone/PhoneServiceProvider --tag=laravel-phone-config
如果您想自定义验证消息的输出,可以运行以下命令将翻译文件发布到/lang/vendor/laravel-phone
php artisan vendor:publish --provider=EllisIO/Phone/PhoneServiceProvider --tag=laravel-phone-translations
使用
电话验证
如果您需要验证给定的号码是否有效,并且仅此而已,请使用phone规则。
return [ 'phone' => 'required|phone', ];
国家验证
如果您需要验证给定的号码是否在国家的列表中有效,请使用phone_country:US,CA规则。您可以列出任意数量的ISO-3166-1 Alpha 2,用逗号分隔。
return [ 'phone' => 'required|phone_country:US,CA', ];
格式化电话号码
如果您想使用INTERNATIONAL_FORMAT格式化电话号码,请使用以下代码
Phone::formatNumber('5551234567');
创建电话号码对象
此库包括生成Phone对象的能力。此对象包含有关号码的以下详细信息
countryCode: ISO-3166 alpha 2国家代码。number: E.164号码。formattedNumber: 国家格式化号码。
$phone = Phone::getPhone('5551234567'); $phone->getNumber(); // Returns "+15551234567" $phone->getNationalNumber(); // Returns "5551234567" $phone->getFormattedNumber(); // Returns "(555) 123-4567" $phone->getCountry(); // Returns "US" $phone->getCountryCallingCode(); // Returns "1"
处理无效号码
有时您可能遇到不良数据,这是常有的事。为了处理这个问题,只需检查是否返回了null。
if (! $phone = Phone::getPhone('123')) { echo "Invalid number provided."; }
支持
需要帮助?创建一个问题。