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

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

関連記事

Laravel toSql パラメータ付きで出力
正規表現一覧 よく使う検索・置換のパターン
javascript 日本語 shift-js 対応 CSV ダウンロード
ブラウザーで動く javascript のクッキー操作ライブラリ js-cookie
キーコード取得 & キーコード一覧
ReferenceError: location is not defined
moment.js 使って日本語曜日対応
nodejs 使う時のエラーたち
javascript reduce 連想配列の合計計算覚えよう
Sweet Alert swal に複数 content
javascript 開発で出会った TypeError
Apache 初期設定メモ
codeigniter email ライブラリでメール送信 日本語対応
php 開発におけるコーディングルール・規約
php curl 使って クリックなしで POST 送信
php date 日付の日数・月数差を計算
PHP empty isset is_null の違い
php Exception エラーキャッチでメール送信
FlattenException deprecated
allowurlinclude の設定で ftp_connect()エラー
Lumen と Laravel 違い比較
Lumen8 で API 開発
Lumen8 で JWT ユーザー認証
PHP 8 リリース新機能と変更
解決!phpMyAdmin テーブル構造の内容が表示されない問題
twig 3 人気 PHP テンプレートエンジンがバージョンアップ
Smarty HTTP URL 取得できるサーバー関数
Laravel 5.7 の MVC 使う時のメモ
javascript で作る html から PDF 変換 pdfmake の日本語対応
Javascript vuejs の validation 正規表現でフォームチェック作ったときのメモ
nuxtjs と codeigniter で jwt システム構築
HTML から PDF に変換 PHP ライブラリ mPDF の設定
PHP 7.4 にアップグレードして使えなくなる機能
php.ini 初期設定のいろいろ
爆速軽量フレームワーク codeigniter PHP 開発
Composer コマンドとオプション
Laravel Error についてのメモ
javascript 楽しく遊ぼう!メッセージつぶやくウシ cowsay