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

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
レンタルサーバー エックスサーバー レンタルサーバー エックスサーバー DMM fx DMM fx 開発/運用エンジニア募集プログラム 開発/運用エンジニア募集プログラム 外為ジャパンFX 新規口座開設促進 外為ジャパンFX 新規口座開設促進 eBay公式ショッピングサイト Qoo10 eBay公式ショッピングサイト Qoo10 Amazon.co.jpのカテゴリごとのページ

関連記事

Javascript DataTables で excel 風 table 作る
javascript 配列 重複排除
laravel method get post
vuejs back to top button component 作成
bootstrap vuejs 使って generate する際に babel が icons ファイル max 500KB エラー
Laravel schedule 設定
Class 'Imagick' not found Error
Laravel eloquent model の規約
PHP mbconvertkana 全角半角英数カナ変換
Codeigniter APPPATH BASEPATH FCPATH 各種パスと URL 取得
Nuxtjs 動的なルーティング静的ページ自動生成
Laravel timestamp() auto update 有効化無効化
Lumen8 で JWT ユーザー認証
キーコード取得 & キーコード一覧
Laravel toSql パラメータ付きで出力
Lumen8 で API 開発
php Exception エラーキャッチでメール送信
Sweet Alert swal に複数 content
Smarty HTTP URL 取得できるサーバー関数
moment.js 使って日本語曜日対応
PHP empty isset is_null の違い
PHP 8 リリース新機能と変更
javascript 開発で出会った TypeError
FlattenException deprecated
php.ini 初期設定のいろいろ
PHP 7.4 にアップグレードして使えなくなる機能
ReferenceError: location is not defined
php date 日付の日数・月数差を計算
ブラウザーで動く javascript のクッキー操作ライブラリ js-cookie
解決!phpMyAdmin テーブル構造の内容が表示されない問題
codeigniter email ライブラリでメール送信 日本語対応
javascript reduce 連想配列の合計計算覚えよう
Composer コマンドとオプション
爆速軽量フレームワーク codeigniter PHP 開発
nuxtjs と codeigniter で jwt システム構築
nodejs 使う時のエラーたち
Lumen と Laravel 違い比較
javascript で作る html から PDF 変換 pdfmake の日本語対応
HTML から PDF に変換 PHP ライブラリ mPDF の設定
javascript 楽しく遊ぼう!メッセージつぶやくウシ cowsay
twig 3 人気 PHP テンプレートエンジンがバージョンアップ
Javascript vuejs の validation 正規表現でフォームチェック作ったときのメモ
Laravel 5.7 の MVC 使う時のメモ
javascript 日本語 shift-js 対応 CSV ダウンロード
Apache 初期設定メモ
php 開発におけるコーディングルール・規約
Laravel Error についてのメモ
php curl 使って クリックなしで POST 送信
allowurlinclude の設定で ftp_connect()エラー
正規表現一覧 よく使う検索・置換のパターン