フィールドへの無効な文字の入力を防ぐ: 包括的なガイド
P粉124890778
P粉124890778 2023-08-27 21:06:52
0
2
524
<p><code>Onkeydown</code> で、次の JavaScript を実行します。</p> <pre class="brush:php;toolbar:false;">function ThisOnKeyDown(el) { if (el.title == 'textonly') { !(/^[A-Za-zÑñ-s]*$/i).test(el.value) ? el.value = el.value.replace(/[^A-Za-zÑñ-s]/ig, '') : ヌル; } if (el.title == 'numbersonly') { !(/^[0-9]*$/i).test(el.value) ? el.value = el.value.replace(/[^0-9]/ig, '') : null; } if (el.title == 'textandnumbers') { !(/^[A-Za-zÑñ0-9-s]*$/i).test(el.value) ? el.value = el.value.replace(/[^A-Za-zÑñ0-9-s ]/ig, '') : null; } }</pre> <p>これら 3 つのタイトル属性の 1 つが、ページ上の各入力フィールドに割り当てられます。このコードは無効な文字が正しく削除されている限り機能しますが、次の文字が入力されるまでは機能しません。無効な入力を単純に拒否する方法を見つけたいと考えています。ご協力いただきありがとうございます! </p> <p><strong>編集</strong>: グローバルにイベントを作成しています。これが私がやったことです:</p> <pre class="brush:php;toolbar:false;">function Globalization() { var inputs = document.getElementsByTagName('input'); for (i = 0; i
P粉124890778
P粉124890778

全員に返信(2)
P粉034571623

上のコードはこれを示しています - 数字のみが許可されています。この BACKSPACE

のような例外を追加することで変更できます。 リーリー
いいねを押す +0
P粉807471604

そもそも設定されないようにするには、keydown イベント ハンドラーで false を返し、イベントがさらに伝播するのを防ぎます。

以下の例は jQuery を使用して作成しましたが、従来のバインディングでも同じ関数を使用できます。

サーバー側の検証も重要ですが、使いやすさを考えるとクライアント側の検証も重要です。

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート