JavaScriptで正規表現を使って数字のみを入力する機能を実現する方法

PHPz
リリース: 2023-04-21 09:32:18
オリジナル
3929 人が閲覧しました

フォーム検証やデータ処理を実装する場合、特に数値を入力する必要がある場合には、正規表現を使用して入力データをフィルタリングしたり書式設定する必要がよくあります。正規表現を使用すると、ユーザーが数値以外の入力やエラーを入力するのを防ぐことができます。プログラムの堅牢性とユーザー エクスペリエンスが向上します。 JavaScript では、正規表現を使用して、ユーザー入力を数値に制限できます。この記事ではJavaScriptの正規表現を使って数字のみを入力する機能を実装する方法を紹介します。

正規表現は強力な文字列一致ツールです。特定のルールを定義することで、ルールに一致する文字列を一致させることができます。 JavaScript では、RegExp オブジェクトを使用して正規表現を作成できます。以下は、正規表現の基本的な構文の一部です。

  • 2 つのスラッシュ間の内容は、正規表現のルールを表します。たとえば、/123/ は、文字列内に出現する指定された文字シーケンス「123」と一致することを意味します。
  • "^" は、指定された文字で始まる文字列を表します。たとえば、/^123/ は、"123" で始まる文字列を表します。
  • "$" は、指定された文字で終わる文字列を表します。たとえば、/123$/ は、"123" で終わる文字列を表します。
  • 「\d」は、「[0-9]」に相当する数字との一致を意味します。
  • " "1 回以上出現する前の文字との一致を示します。たとえば、/\d / は 1 つ以上の数字と一致します。
  • "{" と "}" は、一致する時間の範囲を指定するために使用されます。たとえば、/\d{3,5}/ は 3 ~ 5 個の数字に一致します。
  • "|" は、または、たとえば /a|b/ は文字「a」または「b」と一致することを意味します。
  • 「()」はキャプチャのグループ化を示し、一致する部分を抽出するために使用できます。たとえば、/(\d{3})-(\d{4})/ は、電話番号を照合し、市外局番と電話番号をそれぞれキャプチャ グループに保存することを意味します。
  • "[]" は文字セットを表し、セット内の任意の文字と一致します。たとえば、/[abc]/ は文字「a」、「b」、または「c」に一致します。

上記の基本的な構文を使用すると、数値のみを入力する機能を実現する正規表現を構築できます。以下に例を示します。

function isNumber(str) {
  var reg = /^\d+$/;
  return reg.test(str);
}

console.log(isNumber("123")); // true
console.log(isNumber("12a3")); // false
console.log(isNumber("")); // false
ログイン後にコピー

上記のコードは、渡された文字列パラメータが数値かどうかを判断する isNumber() 関数を定義しています。この関数は内部で /^\d $/ 正規表現を使用して、数値のみを含む文字列と一致します。その中には:

  • "^" は始まりを意味します。
  • 「\d」は数字を表します。
  • " "1 回以上出現する前の文字との一致を示します。
  • 「$」は終了を示します。

したがって、上記の正規表現で一致する内容は、数字で始まり、1 回以上出現し、数字で終わる文字列となります。渡された文字列パラメータが正規表現の一致ルールを満たす場合は true を返し、そうでない場合は false を返します。

実際のアプリケーションでは、フォーム検証、データ処理、その他のシナリオで上記の関数を使用して、ユーザーが入力したデータをフィルタリングおよびフォーマットすることができます。たとえば、次の例では、jQuery フレームワークを通じてのみ数値を入力できるフォーム コンポーネントを実装しています。

<input type="text" class="number-input">
ログイン後にコピー
$(function() {
  $(".number-input").on("input", function() {
    var value = $(this).val();
    if (!isNumber(value)) {
      $(this).val("");
    }
  });
});
ログイン後にコピー

上記のコードは、jQuery フレームワークを通じてのみ数値を入力できるテキスト ボックス コンポーネントを実装しています。ユーザーがルールに従わない文字を入力すると、テキスト ボックスは自動的にクリアされます。このうち、on("input")関数はテキストボックスの入力イベントを監視し、isNumber()関数は入力内容が数値かどうかを判定するために使用されます。シンプルなコード実装により、ユーザー入力を効果的に制限し、フォームの信頼性と安定性を向上させることができます。

要約すると、正規表現は、RegExp オブジェクトを通じて JavaScript で作成および使用できる、非常に便利な文字列一致ツールです。基本的な構文と共通ルールをマスターしていれば、さまざまな正規表現をすばやく作成し、さまざまなデータ処理機能や文字列フィルタリング機能を実装できます。正規表現を使用して数値のみの入力を制限すると、データの精度と信頼性が効果的に向上し、プログラムの堅牢性とユーザー エクスペリエンスが向上します。

以上がJavaScriptで正規表現を使って数字のみを入力する機能を実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート