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

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

関連記事

twig 3 人気 PHP テンプレートエンジンがバージョンアップ
javascript 日本語 shift-js 対応 CSV ダウンロード
ブラウザーで動く javascript のクッキー操作ライブラリ js-cookie
ReferenceError: location is not defined
nodejs 使う時のエラーたち
javascript reduce 連想配列の合計計算覚えよう
vuejs i18n の html-lang と font 設定
php curl 使って クリックなしで POST 送信
allowurlinclude の設定で ftp_connect()エラー
Lumen と Laravel 違い比較
Laravel5.7 の MVC 使う時のメモ
php 開発におけるルール・規約
PHP 7.4 にアップグレードして使えなくなる機能
解決!phpMyAdmin テーブル構造の内容が表示されない問題
正規表現一覧 よく使う検索・置換のパターン
正規表現一覧 よく使う検索・置換のパターン
javascript 面接問題のいろいろ
javascript で作る html から PDF 変換 pdfmake の日本語対応
Javascript vuejs の validation 正規表現でフォームチェック作ったときのメモ
知ってるようで知らなかった composer のコマンドとオプションの世界
Laravel 5.1 から 8.1 にバージョンアップ
laravel vuejs 初期設定
HTML から PDF に変換 PHP ライブラリ mPDF の設定
nuxtjs と codeigniter で jwt システム構築
nuxtjs と codeigniter で jwt システム構築
爆速・軽量フレームワーク codeigniter PHP 開発
Laravel Error についてのメモ
javascript 楽しく遊ぼう!メッセージつぶやくウシ cowsay