Automattic\WooCommerce\Admin\Features\Fulfillments
FulfillmentUtils::validate_fedex_check_digit
Validate FedEx check digit for 12/14-digit tracking numbers.
Метод класса: FulfillmentUtils{}
Хуков нет.
Возвращает
bool. True if valid, false otherwise.
Использование
$result = FulfillmentUtils::validate_fedex_check_digit( $tracking_number ): bool;
- $tracking_number(строка) (обязательный)
- The FedEx tracking number.
Код FulfillmentUtils::validate_fedex_check_digit() FulfillmentUtils::validate fedex check digit WC 11.2.2
public static function validate_fedex_check_digit( string $tracking_number ): bool {
if ( ! preg_match( '/^\d{12}$/', $tracking_number ) ) {
return false;
}
$digits = str_split( substr( $tracking_number, 0, 11 ) );
$multipliers = array( 3, 1, 7 );
$sum = 0;
$multiplier_index = 0;
for ( $i = 10; $i >= 0; $i-- ) {
$sum += $digits[ $i ] * $multipliers[ $multiplier_index ];
$multiplier_index = ( ++$multiplier_index ) % 3;
}
$check = $sum % 11;
if ( 10 === $check ) {
$check = 0;
}
return intval( $tracking_number[11] ) === $check;
}