1

ユーザーがテキスト ボックスに特殊文字や数字を入力できないようにするにはどうすればよいですか。アルファベットのみを入力したい ( Typed / Pasted )。

サンプルの JavaScript コードを教えてください。

4

3 に答える 3

2

この質問を見てください:文字列から英数字のみを返す関数?

これはあなたが求めているものです:

$result = preg_replace("/[^a-zA-Z0-9]+/", "", $inputVar);

その後、それをデータベースに挿入する場合は、必ずmysql_real_escape_string()または準備されたステートメントのようなものを使用してください。

JS は簡単に無効にすることができ、世界中のすべてのデバイスで有効になっているわけではないため、文字の検証のみに Javascript を使用することは非常に悪い習慣です。

于 2012-04-12T05:25:52.880 に答える
1

特定の文字の入力を防ぐよりも、フォームの送信時に値を検証する方がはるかにユーザーフレンドリーで効果的です。その前のフィールドの値は本当に気にせず、値の入力方法を特別に処理する必要はありません。貼り付け、ドラッグ、自動入力、プラグインやスクリプトによる入力、またはその他の方法が考えられます。

ささいな例:

</script>

<form onsubmit="return validate(this);">
  <input type="text" name="foo">
  <input type="submit">
</form>

<script type="text/javascript">
function validate(form) {
  var re = /^[a-z,A-Z]+$/i;

  if (!re.test(form.foo.value)) {
    alert('Please enter only letters from a to z');
    return false;
  }
}
</script>
于 2012-04-12T05:36:06.297 に答える
1

あなたはこれを試すことができます、私は現在これを私の現在のプロジェクトに使用しています

$(document).ready(function(){

/* Allow integers only in form input field with id #selector */
$('#selector').keyup(function () { 
    this.value = this.value.replace(/[^0-9\.]/g,'');
  });   
 })

コピペもできないが、弱点は右クリックで貼り付け

免責事項:インターネットから見つけたばかりです

于 2012-04-12T05:45:16.757 に答える