JavaScriptの正規表現を使ってABC-1234形式の文字列を作成する方法
JavaScriptの正規表現を利用すると、「ABC1234」のような英数字の文字列を「ABC-1234」のようにハイフンで区切った読みやすい形式へ変換できます。以下に、実際に動作するサンプルコードを示します。
コード例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
</head>
<body>
<p class="formatting">ABC1234</p>
<script>
function joinTheDashSymbol(m, r1,r2,r3,r4,r5) {
if (r1)
return [r1,r2,r3].join('-');
else
return [r4,r5].join('-');
}
$(".formatting").text(function(i, words) {
words = words.replace(/^(\d{3})(\d{3})(\d{4})|([A-Z]{3})(\d{4})$/, joinTheDashSymbol);
return words;
});
</script>
</body>
</html>
コードの解説
このコードのポイントは、正規表現 /^(\d{3})(\d{3})(\d{4})|([A-Z]{3})(\d{4})$/ の部分です。このパターンは2つのケースに対応しています。
(\d{3})(\d{3})(\d{4}):10桁の連続する数字を「3桁・3桁・4桁」に分割してキャプチャします(例:1234567890 → 123-456-7890)。([A-Z]{3})(\d{4})$:英大文字3文字と数字4文字の組み合わせをキャプチャします(例:ABC1234 → ABC-1234)。
マッチした際に呼び出されるコールバック関数 joinTheDashSymbol では、最初のパターン(電話番号形式)に一致した場合は r1〜r3 を、2つ目のパターン(ABC-1234形式)に一致した場合は r4・r5 を、それぞれ join('-') でハイフン連結して結果を返しています。
さらに、jQueryの text() メソッドにコールバック関数を渡すことで、クラス名 formatting を持つ要素のテキストがページ表示時に自動的に整形されます。
実行方法
上記のプログラムを実行するには、ファイルを anyName.html(例:index.html) という名前で保存し、VS Codeエディタ上でファイルを右クリックして「Open with Live Server」を選択してください。ブラウザが起動し、結果を確認できます。
実行結果

-
JavaScriptオブジェクトの内容を文字列として表示する方法
JavaScriptでオブジェクトの内容を文字列形式で画面に表示したい場合、document.getElementById()でHTML要素を取得し、innerHTMLを使って書き出すのが基本的な方法です。オブジェクトを文字列に変換するには、JSON.stringify()メソッドを活用します。 実装手順 まず、表示先となるHTML要素にIDを設定します。次に、JavaScript側でそのIDを指定して要素を取得し、変換した文字列をinnerHTMLに代入します。 コード例 <!DOCTYPE html> <html lang="ja"> <h
-
JavaScriptでボタンをクリックしたらテキストフィールドを空にする方法
Web開発では、ボタンをクリックしたタイミングでテキストフィールド(テキストボックス)の中身を空にしたいケースがよくあります。たとえば、検索条件のリセットやフォーム入力内容の初期化などが代表例です。この記事では、JavaScriptを使ってこの処理をシンプルに実現する方法を解説します。 基本の考え方 実装に必要なのは、次の2つのステップだけです。 HTML側でonclick属性を使い、ボタンクリック時に呼び出すJavaScriptの関数を指定する 関数内でdocument.getElementById()によって対象の要素を取得し、そのvalueプロパティに空文字列()を代入する docu