目次
1。HTML構造構造
2。JavaScriptは、番号のフィルタリングとカウントを実装します
3。コアロジックの詳細な説明
4.予防策と最適化
ホームページ ウェブフロントエンド htmlチュートリアル JavaScriptは、フォームテキストフィールドでの携帯電話番号の自動フィルタリングとカウントを実装しています

JavaScriptは、フォームテキストフィールドでの携帯電話番号の自動フィルタリングとカウントを実装しています

Aug 13, 2025 pm 09:57 PM

JavaScriptは、フォームテキストフィールドでの携帯電話番号の自動フィルタリングとカウントを実装しています

この記事では、Webフォームのテキストフィールドで特定の形式(10桁など)をリアルタイムで満たす携帯電話番号をフィルタリングおよび保持する方法を詳しく説明し、数値の総数を動的に更新します。 JavaScriptを介したユーザーの入力と貼り付けのイベントを聴くことと、数字の検証とクリーニングのための正規表現と組み合わされて、効率的かつ使いやすいフロントエンドソリューションを提供し、手動フィルタリングの累積性を回避し、データ形式の精度を確保します。

ユーザーがテキストフィールドを介して携帯電話番号をバッチまたは貼り付けるシナリオでは、特定の数値で純粋な数値のみを保持し、有効な数値の数をリアルタイムでカウントするなど、入力された番号をフォーマットする必要があることがよくあります。これにより、ユーザーエクスペリエンスが向上するだけでなく、最初にデータの精度を保証します。この記事では、HTMLとJavaScriptに基づくソリューションを提供して、テキストフィールドでの携帯電話番号の自動フィルタリングとカウントを実現します。

1。HTML構造構造

まず、数字カウントを表示するテキストフィールドと入力ボックスを含むHTMLフォーム構造が必要です。

 

この構造で:

  • Mobilenoは、携帯電話番号を入力するために使用されるテキストフィールドです。
  • NumberCountは、有効な携帯電話番号の数を表示する読み取り専用の入力ボックスです。

2。JavaScriptは、番号のフィルタリングとカウントを実装します

コアロジックはJavaScriptにあります。テキストフィールドでの入力イベントをリッスンし、ユーザーがコンテンツに入ったり貼り付けたりするときにすぐにフィルタリングとカウント操作を実行します。

 
    document.addeventlistener( 'domcontentloaded'、function(){
        const mobilenumberstextarea = document.queryselector( '#mobileno');
        const numbercountinput = document.queryselector( '#numbercount');

        /**
         *テキストフィールドコンテンツを処理し、10純数の数値をフィルターし、カウントを更新*/
        function processmobilenumbers(){
            let rawinput = mobilenumberstextarea.value;
            //行によって分割され、空の行をフィルタリングします。LETLET LET LET LET rawInput.Split( '\ n')。マップ(line => line.trim())。フィルター(line => line!== '');

            leb validnumbers = [];
            const tendigitnumberregex = /^\ d {10} $ /; //正確な10桁の数字の行を一致させます。Foreach(num => {
                if(tendigitnumbumberregex.test(num)){
                    validnumbers.push(num);
                }
            });

            //重複した有効な数値を削除します(オプションですが、推奨)
            const siquevalidnumbers = [... new set(validnumbers)];

            //テキストフィールドコンテンツを更新すると、有効な数字のみが保持され、1つのmobilenumberstextarea.value = uniquevalidnumbers.join( '\ n');
            //番号count numbercountinput.value = uniquevalidnumbers.length;
        }

        //入力イベントを聞いてリアルタイム処理を実現する//入力イベントは、MobilEnumberStextarea.addeventListener( 'input'、processMobilenumbers)をトリガーします。

        //ページがロードされたときに1回実行して初期コンテンツを処理します(テキストフィールドにプリセット値がある場合)
        ProcessMobilenumbers();
    });

3。コアロジックの詳細な説明

  1. DOM要素の取得:最初に、DOMはテキストフィールド(#mobileno)とカウント入力ボックス(#NumberCount)への参照がdocument.querySelectorを介して取得されます。
  2. ProcessMobileNumbers関数:これはコア処理機能であり、次のタスクに責任があります。
    • 元の入力を取得:mobilenumberstextarea.valueは、テキストフィールドの現在のコンテンツを取得します。
    • 分割してきれいにライン:rawinput.split( '\ n')は、コンテンツをラインブレークごとに配列に分割します。 map(line => line.trim())は、各ラインの開始スペースと終了スペースを削除します。フィルター(line => line!== '')処理された空白行を削除します。
    • 正規表現の検証:const tendigitnumberregex = /^\ d {10} $ /;正規表現を定義します。
      • ^文字列の始まりを一致させます。
      • \ d任意の数(0-9)に一致します。
      • {10}は、前の要素を10回正確に一致させます。
      • $は文字列の端を一致させます。この正規表現は、数値が10桁である必要があり、わずか10桁であり、他の文字(スペース、標識など)が含まれていないことを保証します。
    • フィルター有効な数字:各行を通過し、tendigitnumberregex.test(num)を使用して、行が10桁の形式を満たしているかどうかを確認します。基準を満たす数値は、validNumbersアレイに追加されます。
    • 重複排除処理(推奨) :[... new set(validnumbers)]は簡潔なJavaScriptの構文であり、validNumbersアレイにすべての非重複要素を含む新しい配列を作成します。これにより、ユーザーが重複した数値を貼り付けたときに繰り返されるカウントを回避できます。
    • テキストフィールドの更新:mobilenumberstextarea.value = uniquevalidnumbers.join( '\ n');フィルタリングと重複排除後の有効な数字をラインブレークで接続し、テキストフィールドをリセットするため、形式に準拠していない数値を自動的にクリーニングします。
    • 更新カウント:numbercountinput.value = uniquevalidnumbers.length;有効な番号配列の長さをカウント入力ボックスに更新します。
  3. イベントリスニング:mobilenumberstextarea.addeventlistener( 'input'、processmobilenumbers); ProcessMobileNumbers関数をテキストフィールドの入力イベントにバインドします。これは、テキストフィールドのコンテンツが変更されるたびに(ユーザータイピング、削除、または貼り付けであるかどうかにかかわらず)、機能がすぐに実行され、リアルタイムのフィードバックが可能になることを意味します。
  4. 初期化処理:ProcessMobileNumbers();テキストフィールドがHTMLでプリセットされた値を持っている場合に備えて、ページがロードされた直後に1回実行され、初期状態の正しいカウントとクリーニングが保証されます。

4.予防策と最適化

  • イベントの選択
    • 入力イベントは、テキストドメインコンテンツの変更を処理するための最良の選択です。ユーザー入力、貼り付け、カット、ドラッグ、ドロップなどのコンテンツを変更するさまざまな方法をカバーし、リアルタイムのユーザーエクスペリエンスを提供します。
    • キーアップイベントは、キーがリリースされた場合にのみトリガーされ、貼り付けなどのキーボード操作をキャプチャできません。
    • マウスアウトイベント(質問に対する元の回答に示されているように)は、マウスが要素から移動するとトリガーされます。これにより、ユーザーがマウスをテキストフィールドから移動して結果を確認する必要があり、推奨されないため、ユーザーエクスペリエンスが低下する可能性があります。
    • ペーストイベントは、ペースト操作のために特別に処理できますが、通常は入力イベントで十分です。
  • 正規表現: ^\ d {10} $は、非常に正確な10ビットの純粋な数値マッチです。国際ドメインコードまたはより複雑な携帯電話番号形式をサポートする必要がある場合は、正規表現を調整する必要があります。たとえば、数字から始めて数字が続く場合は、より複雑なルールが必要です。
  • ユーザーエクスペリエンス:リアルタイムのクリーニングとカウントは、ユーザーエクスペリエンスを大幅に改善できます。ユーザーは、どの数値が有効で、どの数値が削除されているかを即座に確認できます。
  • サーバー側の検証:フロントエンド検証は優れたユーザーエクスペリエンスを提供しますが、サーバー側で再度確認してください。フロントエンドの検証は簡単にバイパスされ、サーバー側の検証は、データセキュリティと整合性のための最後の防衛線です。
  • エラーのヒント:より複雑なアプリケーションでは、無効な番号が削除されたときに視覚的なフィードバックまたはプロンプトをユーザーに提供することを検討できます。

上記の方法により、テキストフィールドのユーザーが入力した携帯電話番号を効率的に管理および検証し、データの正確性を確保し、ユーザーエクスペリエンス全体を改善できます。

以上がJavaScriptは、フォームテキストフィールドでの携帯電話番号の自動フィルタリングとカウントを実装していますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

`` vs.`  `in html `` vs.` `in html Jul 19, 2025 am 12:41 AM

これは、大きなブロックコンテンツ領域を分割するために使用されるブロックレベルの要素です。これは、テキストまたはコンテンツの断片の小さなセグメントを包むのに適したインライン要素です。特定の違いは次のとおりです。1。列、幅、高さのみを占有し、内側と外側の縁を設定できます。これは、ヘッダー、サイドバーなどのレイアウト構造でよく使用されます。 2。ラインを包み、コンテンツ幅のみを占有し、変色、太字などのローカルスタイル制御に使用されます。 3.使用シナリオの観点から、それは全体の領域のレイアウトと構造の組織に適しており、全体的なレイアウトに影響を与えない小規模なスタイル調整に使用されます。 4.ネスティングの場合、任意の要素を含めることができ、ブロックレベルの要素を内部にネストしないでください。

html `link rel =' preload '`を使用したリソースのプリロード html `link rel =' preload '`を使用したリソースのプリロード Jul 19, 2025 am 12:54 AM

Linkrel = "Preload"は、ページの読み込みパフォーマンスを最適化するテクノロジーであり、重要なリソースを事前にロードするために使用されます。その中心的な目的は、フォント、キーCSS/JS、ホーム画面画像など、ホーム画面のレンダリングに不可欠なリソースの負荷を優先することです。使用する場合に注意してください。1。リソースタイプを指定するには、AS属性を正しく設定します。 2。乱用を避け、過度の帯域幅の使用を防ぐ。 3.リソースが実際に使用されることを確認してください。そうしないと、リクエストの無駄を引き起こします。 4.クロスドメインリソースにCrossorigin属性を追加します。 AS属性の欠如などの誤った執筆方法により、プリロードが無効になります。合理的な使用は、ページの読み込み効率を改善する可能性があります。そうしないと、逆効果になる可能性があります。

初心者向けの不可欠なHTMLタグ 初心者向けの不可欠なHTMLタグ Jul 27, 2025 am 03:45 AM

HTMLをすばやく開始するには、Webスケルトンを構築するためにいくつかの基本的なタグをマスターするだけです。 1.ページ構造は不可欠であり、ルート要素であり、メタ情報が含まれ、コンテンツディスプレイ領域です。 2。タイトルを使用します。レベルが高いほど、数が小さくなります。タグを使用してテキストをセグメント化して、レベルをスキップしないようにします。 3.リンクはタグを使用してHREF属性を一致させ、画像はタグを使用し、SRCおよびALT属性が含まれます。 4.リストは、順序付けられていないリストと順序付けリストに分割されます。各エントリは表され、リストにネストする必要があります。 5.初心者は、すべてのタグを強制的に記憶する必要はありません。あなたが書いている間にそれらを書いてチェックする方がより効率的です。構造、テキスト、リンク、写真、リストをマスターして、基本的なWebページを作成します。

Shadow Domの概念とHTML統合 Shadow Domの概念とHTML統合 Jul 24, 2025 am 01:39 AM

Shadowdomは、孤立したDOMサブツリーを作成するためにWebコンポーネントテクノロジーで使用されるテクノロジーです。 1.独自のスタイルと行動を備えた通常のHTML要素上の独立したDOM構造のマウントを可能にし、メインドキュメントに影響しません。 2。AttachShadowメソッドの使用やモードの設定など、JavaScriptを介して作成されました。 3。HTMLと組み合わせて使用すると、3つの主要な機能があります。クリア構造、スタイル分離、コンテンツプロジェクション(スロット)。 4。ノートには、複雑なデバッグ、スタイルスコープ制御、パフォーマンスオーバーヘッド、フレームワークの互換性の問題が含まれます。要するに、Shadowdomは、再利用可能で汚染されていないUIコンポーネントを構築するためのネイティブカプセル化機能を提供します。

別のタグ内にタグを入れることはできますか? 別のタグ内にタグを入れることはできますか? Jul 27, 2025 am 04:15 AM

youcannotnesttagsinsisideantagbecuseit’sinvalidhtml; browsersautomatelycloseThefirsteforeopeningthenext、spedinginselementsied、useinlineelements like like like、orforstylingwithinaparagraph、またはblockainerslikegoriveparagragh

リンクにHTML「ダウンロード」属性を使用します リンクにHTML「ダウンロード」属性を使用します Jul 17, 2025 am 03:57 AM

TheHTMLdownloadattributeallowsuserstodownloadfilesdirectlyfromalinkbyusingthetag.Toimplementit,adddownloadtotheanchortag,suchasDownloadPDF,orspecifyacustomfilenamelikeDownloadasmy-document.pdf.1.Itworksbestwithsame-originURLsandcommonfiletypeslikePDF

html `style`タグ:インラインと内部css html `style`タグ:インラインと内部css Jul 26, 2025 am 07:23 AM

シーンに従ってスタイル配置方法を選択する必要があります。 1。インラインは、操作によるボタンの色の変更など、単一要素または動的JS制御の一時的な変更に適しています。 2。内部CSSは、ページが少ないプロジェクトと単純な構造に適しています。これは、ログインページの基本スタイル設定など、スタイルの集中管理に便利です。 3。再利用、メンテナンス、パフォーマンスが優先され、大規模なプロジェクトの外部リンクCSSファイルを分割することをお勧めします。

HTMLにYouTubeビデオを埋め込む方法 HTMLにYouTubeビデオを埋め込む方法 Jul 16, 2025 am 04:43 AM

YouTubeビデオをWebページに埋め込むには、YouTubeが提供する埋め込みコードを直接コピーして、HTMLページに貼り付けることができます。 1.ターゲットビデオページを開き、正しいビデオリンクを確認します。 2。「共有」→[埋め込み]をクリックして、生成されたiframeコードをコピーします。 3。または、iframeタグを手動で作成し、srcをhttps://www.youtube.com/embed/video idに設定します。 4.レスポンシブ幅を使用して、Allowfullscreen属性を追加することをお勧めします。 5.高度な提案には、コンテナを使用して16:9の比率を達成すること、パフォーマンスを改善するための遅延ロード、プライバシーポリシーのヒントに注意を払うことが含まれます。

See all articles