javascript 文字列の先頭に指定した文字列を挿入する
- 作成日 2021.02.22
- 更新日 2022.08.08
- javascript
- javascript

javascriptで、padStartを使用して、文字列の先頭に指定した文字列を挿入するサンプルコードを記述してます。
環境
- OS windows10 pro 64bit
- Apache 2.4.43
- ブラウザ chrome 103.0.5060.134
padStart使い方
「padStart」を使用すると、文字列の先頭に指定した文字列を挿入することが可能です。
※「埋め込みたい文字列」を指定しない場合は「半角スペース」となります。
文字列.padStart(長さを指定 [, 埋め込みたい文字列])
「padStart」使い方
const str = 'mebee';
// 7文字に合わせる
console.log(
'\"' + str.padStart(7) + '\"'
);
// " mebee"
// 埋める文字列を指定
console.log(
str.padStart(7, "a")
);
// aamebee
実行結果

「padStart」は、以下のように「ゼロ埋め」などによく利用されます。
const num1 = '123';
const num2 = '1234';
// 0で埋める
console.log(
num1.padStart(5, "0"), // 00123
num2.padStart(5, "0") // 01234
);
文字数が少ない場合
指定した長さが文字数より少ない場合や「0」や「マイナス」を指定した場合は、元の文字列がそのまま返ります。
const num = '123';
console.log(
num.padStart(0, "0"), // 123
num.padStart(1, "0"), // 123
num.padStart(-10, "0") // 123
);
また、指定した長さより、文字数が足らない場合、足りている分だけで埋められます。
console.log(
num.padStart(4, "abc"), // a123
num.padStart(5, "abcd"), // a123
);
日本語とサロゲートペア文字
日本語は、アルファベットと同じように動作しますが、
const str = 'あいうえお';
console.log(
str.padEnd(7, "か") // あいうえおかか
);
通常の2バイトで1文字で表すところを、4バイトで1文字となるサロゲートペア文字だと、
1文字の長さが「1」ではなく「2」としてカウントされます。
const str = '😂😁';
console.log(
str.padStart(5, "!"), // !😂😁
str.padStart(6, "!"), // !!😂😁
str.padStart(5, "😻"), // �😂😁
str.padStart(6, "😻") // 😻😂😁
);
実行結果

文字列以外に使用
文字列以外に使用するとエラーが発生するため、使用前に文字列であるか判定してから使用すると
エラーは回避できます。
const num = 123;
if(typeof num === 'string'){
console.log(
num.padStart(5, "0") // 00123
);
}
後方に文字を加える
逆に「後方に文字を加える」場合は、以下を参考にして下さい。
サンプルコード
以下は、
「実行」ボタンをクリックすると、指定した長さで指定した文字列を追加して表示する
サンプルコードとなります。
※cssには「bootstrap5」を使用してます。「bootstrap5」は、IEのサポートを終了してます。関数はアロー化してます。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>mebeeサンプル</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Material+Icons">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/css/bootstrap.min.css">
</head>
<style>
.main {
margin: 0 auto;
margin-top: 200px;
display: flex;
flex-direction: column;
align-items: center;
font-size: 30px;
}
</style>
<script>
const hoge = () => {
// フォームに入力された文字列の指定した文字列 + 指定したテキストを追加
const str= txt.value.padStart(11, "Hello ") ; // document.getElementById('txt');を省略
// 表示
result.innerHTML = str;
}
window.onload = () => {
// クリックイベントを登録
btn.onclick = () => { hoge(); }; // document.getElementById('btn');を省略
}
</script>
<body>
<div class="main container">
<h2><span id="result" class="badge bg-info">先頭に文字列追加</span></h2>
<div class="mb-3">
<input id="txt" type="text" class="form-control">
</div>
<div class="row">
<button id="btn" type="button" class="btn btn-warning">
実行
</button>
</div>
</div>
</body>
</html>
先頭に文字列が追加されていることが確認できます。

-
前の記事
ASP.NET Core Blazor 環境を構築する 2021.02.21
-
次の記事
apache2 phpバージョン指定時に「ERROR: Module phpx.x.x does not exist!」が発生した場合 2021.02.22
コメントを書く