JavaScriptで数値の先頭ゼロをスペースに置き換える方法
JavaScriptで、数値を表す文字列から先頭のゼロをスペースに置き換える関数を作成する方法を紹介します。ポイントは、数値の前に入っている既存の空白(スペース)を保持したまま処理することです。
やりたいこと
たとえば、次のような文字列が与えられたとします。
" 004590808"
この文字列に関数を適用すると、先頭のゼロがスペースに置き換えられ、結果は次のようになります。
" 4590808"
このように、元の空白はそのまま残り、先頭ゼロのぶんだけスペースが追加された形になります。
サンプルコード
const str = ' 004590808';
const replaceWithSpace = str => {
let replaced = '';
const regex = new RegExp(/^\s*0+/);
replaced = str.replace(regex, el => {
const { length } = el;
return ' '.repeat(length);
});
return replaced;
};
console.log(replaceWithSpace(str));コードの解説
ここで使用している正規表現は /^\s*0+/ です。それぞれの要素は次の意味を持ちます。
^: 文字列の先頭\s*: 0個以上の空白文字(スペースやタブなど)0+: 1個以上の連続するゼロ
replace() の第2引数に渡すコールバック関数では、マッチした部分文字列(空白+先頭ゼロ)の長さを取得し、repeat() を使って同じ長さのスペース文字列を生成して返します。これにより、マッチした範囲全体が同じ幅のスペースへと置き換えられ、数値本体はそのまま保たれます。
実行結果
コンソールには次のように表示されます。
" 4590808"
-
JavaScriptでオートコンプリート(入力補完)機能を実装する方法
JavaScriptによるオートコンプリートの実装検索フォームなどでユーザーの入力に合わせて候補を自動的に表示する「オートコンプリート(入力補完)」機能は、JavaScriptを使えばライブラリなしでも実装できます。本記事では、配列に格納されたデータを候補として表示し、マウスクリックやキーボード操作で選択できるオートコンプリートの作り方を、完全なサンプルコードとともに解説します。実装のポイントこのサンプルでは以下のような仕組みでオートコンプリートを実現しています。inputイベント:テキストフィールドに入力があるたびに発火し、入力値と前方一致する項目を候補リストとして動的に生成します。キーボー
-
JavaScriptでテキストを切り替える(トグルする)方法を解説
JavaScriptを使えば、ボタンをクリックするたびに表示されるテキストを切り替える(トグルする)処理を簡単に実装できます。ここでは、innerHTMLプロパティと条件分岐を組み合わせた、最も基本的なテキスト切り替えの方法をサンプルコード付きで解説します。実装コード例<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style>