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

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