# 開発時によく使うゼロ埋めパディング作業まとめ

int 数字を左からゼロ埋めする時ありません?いちいちぐぐってません?よく忘れるので、まとめました。

ゼロ埋めの芸名はゼロパディングである

# php でゼロ埋め

str_pad (opens new window) 使う

echo str_pad(5, 2, 0, STR_PAD_LEFT); // 05
echo str_pad(23, 3, 0, STR_PAD_LEFT); // 023

sprintf (opens new window) 使う

echo sprintf('%02d', 3); // 03
echo sprintf('%03d', 12); // 012
echo sprintf('ID番号 %04d', 99); // ID番号 0099

# ゼロ埋め twig バージョン

format filter (opens new window) 使う

{{ '%04d'|format(u.id) }}

# ゼロ埋め mysql バージョン

LPAD (opens new window)使う

SELECT LPAD(`id`, 4, '0') FROM `user`;

結果

LPAD(id, 4, '0')
001
002
003

# ゼロ埋め javascript バージョン

javascript で手軽にゼロ埋めパディングすることもできます!

slice (opens new window) 使う

const num = 5;
const str = ("000" + num).slice(-3);
console.log(str);
// 005

padStart (opens new window) 使う

const str1 = "3";
console.log(str1.padStart(2, "0"));
// 03

function で書いてみる

function zeroPadding(num, length) {
  return ("0000" + num).slice(-length);
}

const num = zeroPadding(123, 6);
console.log(num); // 000123

function leftFillNum(num, targetLength) {
  return num.toString().padStart(targetLength, 0);
}

const num = 123;
console.log(leftFillNum(num, 5));
// 00123

# おまけ:vue filter ナンバーフォーマットなど

import Vue from "vue";

function zeroPadding(num, length) {
  return ("0000" + num).slice(-length);
}

function numberFormat(num) {
  return (num || 0)
    .toString()
    .replace(/^-?\d+/g, (m) => m.replace(/(?=(?!\b)(\d{3})+$)/g, ","));
}

function moneyFormat(num) {
  return (
    "¥" +
    (num || 0)
      .toString()
      .replace(/^-?\d+/g, (m) => m.replace(/(?=(?!\b)(\d{3})+$)/g, ","))
  );
}

function uppercaseFirst(string) {
  return string.charAt(0).toUpperCase() + string.slice(1);
}

Vue.filter("number", numberFormat);
Vue.filter("money", moneyFormat);
Vue.filter("upperFirst", uppercaseFirst);
2020-07-15
  • php
  • javascript

関連記事

Javascript 非同期処理 async と await のメモ
Nuxt.js と Ant Design Vue 2 テーマカスタマイズ
JavaScript ライブラリ aos.js 使ってスクロール連動アニメーション
大きいファイルをスライス分割してアップロード
javascript 楽しく遊ぼう!メッセージつぶやくウシ cowsay
bootstrap vuejs 使って generate する際に babel が icons ファイル max 500KB エラー
javascript 日本語 shift-js 対応 CSV ダウンロード
Javascript DataTables で excel 風 table 作る
国際化 i18n と地域化 L10N
Cookie localStorage sessionStorage の違い
もっと Docker 使おうよ!Node を Docker から引っ張ろうよ
javascript 配列 重複排除
javascript 文字列と配列検索 indexOf findIndex find some includes 関数の違い
Jsconfig と Tsconfig
キーコード取得 & キーコード一覧
ブラウザーで動く javascript のクッキー操作ライブラリ js-cookie
moment.js 使って日本語曜日対応
ReferenceError: location is not defined
nodejs 使う時のエラーたち
Nuxtjs 動的なルーティング静的ページ自動生成
vuejs で omisejapan の決済フォーム作成した時のメモ
javascript で作る html から PDF 変換 pdfmake の日本語対応
javascript password generator ランダム文字列パスワード作成
Javascript 電話番号フォーマット
react 強制的にレンダリングする方法
javascript reduce 連想配列の合計計算覚えよう
Sweet Alert swal に複数 content
正規表現一覧 よく使う検索・置換のパターン
javascript 開発で出会った TypeError
javascript  指定場所にスムーズにスクロールする方法
Javascript vuejs の validation 正規表現でフォームチェック作ったときのメモ
vuejs back to top button component 作成
Apache 初期設定メモ
Carbon で php date 日付の日数・月数差を計算
codeigniter email ライブラリでメール送信 日本語対応
Codeigniter 画像アップロードとリサイズ
Codeigniter APPPATH BASEPATH FCPATH 各種パスと URL 取得
爆速軽量フレームワーク codeigniter PHP 開発
nuxtjs と codeigniter で jwt システム構築
Composer コマンドとオプション
開発におけるコーディングルール・規約
PHP mbconvertkana 全角半角英数カナ変換
php curl 使って クリックなしで POST 送信
php CSV データ取得は fgetcsv 使う
php Exception エラーキャッチでメール送信
PHP empty isset is_null の違い
FlattenException deprecated
allowurlinclude の設定で ftp_connect()エラー
Laravel でカテゴリー作成 テーブル構築と再帰クエリ
Laravel Email バリデーションについて
Laravel Lumen Faker 日本語設定
Laravel blade foreach loop と current url
Laravel eloquent model の規約
Class 'Imagick' not found Error
Laravel logger でエラーログを chatwork に自動送信
Laravel を API サーバーとしての初期設定
laravel method の基本 get post put options
Laravel メンテナンスモード
Laravel Log の基本設定&使い方
Laravel Sail で Docker 環境構築
Laravel Error についてのメモ
Lumen と Laravel 違い比較
Laravel Sanctum 使って API トークン JWT 認証と SPA 認証
Laravel schedule 設定
Laravel timestamp() auto update 有効化無効化
Laravel Test についてのメモ
Laravel リクエストログ出力
Laravel toSql パラメータ付きで出力
Laravel 5.1 から 8.1 にバージョンアップ
laravel に vuejs 使うための初期設定
Laravel tinker 使って DB データベース接続とコマンド
Lumen8 で API 開発
laravel session を制する
PHP 7.4 にアップグレードして使えなくなる機能
PHP 8 リリース新機能と変更
HTML から PDF に変換 PHP ライブラリ mPDF の設定
PHP 8.1 から 8.4 へアップグレードしました
解決!phpMyAdmin テーブル構造の内容が表示されない問題
php.ini 初期設定のいろいろ
twig 3 人気 PHP テンプレートエンジンがバージョンアップ
Smarty HTTP URL 取得できるサーバー関数
PHP 文字列長さ・文字列の幅を取得方法
Lumen8 で JWT ユーザー認証
Exception: Class 'ZipArchive' not found
Laravel 429 Too Many Requests
Javascript var let const 変数宣言の違い