Вход Регистрация
Файл: vendor/fakerphp/faker/src/Faker/Provider/ms_MY/Miscellaneous.php
Строк: 137
<?php

namespace FakerProviderms_MY;

class 
Miscellaneous extends FakerProviderMiscellaneous
{
    
/**
     * @see https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Malaysia
     */
    
protected static $jpjNumberPlateFormats = [
        
'{{peninsularPrefix}}{{validAlphabet}}{{validAlphabet}} {{numberSequence}}',
        
'{{peninsularPrefix}}{{validAlphabet}}{{validAlphabet}} {{numberSequence}}',
        
'{{peninsularPrefix}}{{validAlphabet}}{{validAlphabet}} {{numberSequence}}',
        
'{{peninsularPrefix}}{{validAlphabet}}{{validAlphabet}} {{numberSequence}}',
        
'W{{validAlphabet}}{{validAlphabet}} {{numberSequence}} {{validAlphabet}}',
        
'KV {{numberSequence}} {{validAlphabet}}',
        
'{{sarawakPrefix}} {{numberSequence}} {{validAlphabet}}',
        
'{{sabahPrefix}} {{numberSequence}} {{validAlphabet}}',
        
'{{specialPrefix}} {{numberSequence}}',
    ];

    
/**
     * Some alphabet has higher frequency that coincides with the current number
     * of registrations. E.g. W = Wilayah Persekutuan
     *
     * @see https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Malaysia#Current_format
     */
    
protected static $peninsularPrefix = [
        
'A', 'A', 'B', 'C', 'D', 'F', 'J', 'J', 'K', 'M', 'N', 'P', 'P', 'R', 'T', 'V',
        
'W', 'W', 'W', 'W', 'W', 'W',
    ];

    
/**
     * @see https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Malaysia#Current_format_2
     */
    
protected static $sarawakPrefix = [
        
'QA', 'QK', 'QB', 'QC', 'QL', 'QM', 'QP', 'QR', 'QS', 'QT',
    ];

    
/**
     * @see https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Malaysia#Current_format_3
     */
    
protected static $sabahPrefix = [
        
'SA', 'SAA', 'SAB', 'SAC', 'SB', 'SD', 'SG',
        
'SK', 'SL', 'SS', 'SSA', 'ST', 'STA', 'SU',
    ];

    
/**
     * @see https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Malaysia#Commemorative_plates
     */
    
protected static $specialPrefix = [
        
'1M4U',
        
'A1M',
        
'BAMbee',
        
'Chancellor',
        
'G', 'G1M', 'GP', 'GT',
        
'Jaguh',
        
'K1M', 'KRISS',
        
'LOTUS',
        
'NAAM', 'NAZA', 'NBOS',
        
'PATRIOT', 'Perdana', 'PERFECT', 'Perodua', 'Persona', 'Proton', 'Putra', 'PUTRAJAYA',
        
'RIMAU',
        
'SAM', 'SAS', 'Satria', 'SMS', 'SUKOM',
        
'T1M', 'Tiara', 'TTB',
        
'U', 'US',
        
'VIP',
        
'WAJA',
        
'XIIINAM', 'XOIC', 'XXVIASEAN', 'XXXIDB',
        
'Y',
    ];

    
/**
     * Chances of having an empty alphabet will be 1/24
     *
     * @see https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Malaysia#Current_format
     */
    
protected static $validAlphabets = [
        
'A', 'B', 'C', 'D', 'E', 'F',
        
'G', 'H', 'J', 'K', 'L', 'M',
        
'N', 'P', 'Q', 'R', 'S', 'T',
        
'U', 'V', 'W', 'X', 'Y', '',
    ];

    
/**
     * Return a valid Malaysia JPJ(Road Transport Department) vehicle licence plate number
     *
     * @example 'WKN 2368'
     *
     * @return string
     */
    
public function jpjNumberPlate()
    {
        
$formats = static::toUpper(static::lexify(static::bothify(static::randomElement(static::$jpjNumberPlateFormats))));

        return 
$this->generator->parse($formats);
    }

    
/**
     * Return Peninsular prefix alphabet
     *
     * @example 'W'
     *
     * @return string
     */
    
public static function peninsularPrefix()
    {
        return static::
randomElement(static::$peninsularPrefix);
    }

    
/**
     * Return Sarawak state prefix alphabet
     *
     * @example 'QA'
     *
     * @return string
     */
    
public static function sarawakPrefix()
    {
        return static::
randomElement(static::$sarawakPrefix);
    }

    
/**
     * Return Sabah state prefix alphabet
     *
     * @example 'SA'
     *
     * @return string
     */
    
public static function sabahPrefix()
    {
        return static::
randomElement(static::$sabahPrefix);
    }

    
/**
     * Return specialty licence plate prefix
     *
     * @example 'G1M'
     *
     * @return string
     */
    
public static function specialPrefix()
    {
        return static::
randomElement(static::$specialPrefix);
    }

    
/**
     * Return a valid license plate alphabet
     *
     * @example 'A'
     *
     * @return string
     */
    
public static function validAlphabet()
    {
        return static::
randomElement(static::$validAlphabets);
    }

    
/**
     * Return a valid number sequence between 1 and 9999
     *
     * @example '1234'
     *
     * @return int
     */
    
public static function numberSequence()
    {
        return 
self::numberBetween(1, 9999);
    }
}
Онлайн: 0
Реклама