JavaScript正規表現(RegExp)でフォームフィード文字を検索する方法
フォームフィード文字とは
フォームフィード(Form Feed)は、ASCII制御文字の一つで、文字コードは「12」(0x0C)です。かつてはプリンターに対して用紙送りを指示するために使われていましたが、現在ではテキスト処理の場面でごく稀に登場する特殊文字です。
JavaScriptの正規表現でフォームフィード文字を検索するには、次のメタ文字を使用します。
\f
サンプルコード
以下のコードを実行すると、文字列の中からフォームフィード文字を検索できます。search()メソッドは、フォームフィード文字(\f)が見つかった位置(インデックス)を返します。
<html>
<head>
<title>JavaScript Regular Expression</title>
</head>
<body>
<script>
var myStr = "100% \f Responsive!";
var reg = /\f/;
var match = myStr.search(reg);
document.write(match);
</script>
</body>
</html>
実行結果
この例では、文字列「100% \f Responsive!」の中でフォームフィード文字は5番目の位置(インデックス5)に存在するため、出力結果は「5」となります。
なお、マッチする文字が見つからなかった場合、search()メソッドは「-1」を返します。正規表現リテラル /\f/ の代わりに new RegExp("\\f") を使ってパターンを生成することも可能です。
-
JavaScriptで複数ステップのフォームを作成する方法|入力チェック付きマルチステップフォームの実装例
ユーザー登録やアンケートなど、入力項目が多いフォームでは、すべての項目を1画面に詰め込むとユーザーの負担が大きくなり、離脱の原因にもなります。そこで有効なのが、フォームを複数のステップ(ページ)に分割して表示する「マルチステップフォーム」です。 本記事では、JavaScriptを使って「次へ」「戻る」ボタンでステップを切り替えられるフォームを作成する方法を紹介します。さらに、各ステップごとの入力チェック(バリデーション)や、進行状況を示すインジケーター(ドット表示)の実装方法も合わせて解説します。 コード例 <!DOCTYPE html> <html> <meta
-
JavaScriptで配列内の最初の重複要素のインデックスを検索する方法
文字列や数値のリテラルを含む配列には、重複した要素が存在する場合と存在しない場合があります。この記事では、配列を受け取り、最初に重複している要素のインデックスを返す関数の実装方法を解説します。もし配列内に重複する要素がひとつも存在しない場合は、-1 を返す仕様とします。実装の考え方基本的なアプローチは以下の通りです。for ループで配列を先頭から順番に走査するオブジェクト(Map)を用意し、「まだ出現していない要素」をキーとして、そのインデックスを値として保存する走査中にすでに登録済みのキー(=重複要素)に遭遇したら、そのインデックスを即座に返すループが最後まで完了した場合は重複がなかったこと