検索
に質問 フィールドへの無効な文字の入力を防ぐ: 包括的なガイド
フィールドへの無効な文字の入力を防ぐ: 包括的なガイド
P粉124890778 2023-08-27 21:06:52 表示#ヒョウジ# 636

0
<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
Your Answer
提出する

2 件の回答
0

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

のような例外を追加することで変更できます。 リーリー
2023-08-28 14:43:57

提出する

0

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

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

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

リーリー
2023-08-28 10:06:49

提出する

Hot Tools

vc9-vc14 (32+64 ビット) ランタイム ライブラリ コレクション (以下のリンク)

vc9-vc14 (32+64 ビット) ランタイム ライブラリ コレクション (以下のリンク)

phpStudy のインストールに必要なランタイム ライブラリのコレクションをダウンロードします。

VC9 32ビット

VC9 32ビット

VC9 32 ビット phpstudy 統合インストール環境ランタイム ライブラリ

PHP プログラマー ツールボックスのフルバージョン

PHP プログラマー ツールボックスのフルバージョン

プログラマ ツールボックス v1.0 PHP 統合環境

VC11 32ビット

VC11 32ビット

VC11 32ビットphpstudy統合インストール環境ランタイムライブラリ

SublimeText3 中国語版

SublimeText3 中国語版

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