Как я могу пропустить 0041 и 0 перед сохранением номера телефона в переменной контроллера, используя laravel 5.4 - PullRequest
0 голосов
/ 13 сентября 2018

Мне нужно удалить 0041 и 0 перед номером, потому что некоторые пользователи вводили 0041 или 0 до 12345678. Итак, я просто добавляю 0041 статический

$order->phone       =        "0041" . $request->phone;

Таким образом, если пользователь ввел 0041 или 0 перед номером, его следует пропустить, и номер будет сохранен 004112345678.

Пожалуйста, дайте мне любую идею для этого. Спасибо

Ответы [ 3 ]

0 голосов
/ 13 сентября 2018

Вы можете использовать str_pad с фиксированной длиной 12

<?php
//$month = "004112345678";
$month = "012345678";
echo str_pad($month, 12, "0041xxxxxxxx", STR_PAD_LEFT);
?>

Live Demo

0 голосов
/ 13 сентября 2018
if(preg_match("/^(0041|0)(?P<test>\d+)/", $number, $matches)){
  $phone = "0041" . $matches['test'];
}
0 голосов
/ 13 сентября 2018

Используйте substr для проверки первых цифр.Используйте его в условном выражении так:

if(substr($phone, 0, 4) !==  "0041"){
    $phone = "0041" . $phone;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...