正则表达式yii2电话号码验证器


Regex yii2 phone number validator

我试图在yii2中使用Regex验证器验证以下电话号码:

+6018-2031218
0060182031218
006018-2031218

like this

 public function rules()
{
    return [
        [['name', 'minimum_order_amount', 'time_order_open', 'time_order_close', 'delivery_fee', 'rank', 'halal', 'featured', 'working_opening_hours', 'working_closing_hours', 'disable_ordering', 'delivery_duration', 'phone_number', 'longitude', 'latitude', 'image', 'status', 'owner_id', 'user_id'], 'required'],
        [['minimum_order_amount', 'delivery_fee', 'rank', 'longitude', 'latitude'], 'number'],
        [['time_order_open', 'time_order_close', 'working_opening_hours', 'working_closing_hours', 'created_at', 'updated_at'], 'safe'],
        [['halal', 'featured', 'disable_ordering', 'delivery_duration', 'status', 'owner_id', 'user_id'], 'integer'],
        [['name', 'phone_number', 'image'], 'string', 'max' => 255],
        [['working_opening_hours','working_closing_hours','time_order_open', 'time_order_close'], 'date', 'format' => 'H:m:s'],
        [['user_id'], 'exist', 'skipOnError' => true, 'targetClass' => User::className(), 'targetAttribute' => ['user_id' => 'id']],
        [['owner_id'], 'exist', 'skipOnError' => true, 'targetClass' => Owners::className(), 'targetAttribute' => ['owner_id' => 'id']],
        [['phone_number'], 'match', 'pattern' => '/(('+[0-9]{6})|0)[-]?[0-9]{7}/'],
    ];
}

但是我无法得到这些电话号码的正确正则表达式我们是否可以在yii2中使用其他方法

您可以在这里使用这个yii2扩展yii2国际电话号码-资产包,行为,验证器,小部件