このことについては多くの人が書いていますが、今日一時的に使用しようと思ったとき、ニーズを満たすものが見つからなかったので、すぐに書きました。今はすべて書かれており、ニーズを満たしているので、出品します。誰もがそれを試してみることができます。
要件は非常に単純で、テキスト ボックスは数値 (または小数点) に制限され、IE と Firefox をサポートする必要があります。
HTML 入力は次のとおりです
< ; input type="text" style="ime-mode:disabled" onkeyup="return ValidateNumber($(this),value)" />
•IE ブラウザの場合有効にすると、ユーザーはこのテキスト ボックスの入力方法を使用できなくなります。
•Onkeyup は私たち自身が書いた js です。完全なコードは次のとおりです。
----------------------------------------------- --- ----------------------------------
確認のために入力できるのは数字のみです
function ValidateNumber(e, pnumber){
if (!/^d $/.test (pnumber)){
$(e).val(/^d /.exec($(e).val()));
}
return false;
}
デモでは、正規表現を使用して数値ではないものを除外します。
----------------------------------------------- --- ----------------------------------
実際に検証する必要があることが多いのは、路上で見つけた奇妙な値の束を「1.2.3456」と入力すると、正規表現を少し変更するだけで検証できます。
function ValidateFloat(e, pnumber){
if (!/^d [.]?d*$/.test(pnumber)){
$(e).val(/^d [.]?d*/.exec($(e) .val( )));
}
return false;
このようにして、整数または小数点を入力できます
--- ----- -------------------------------------- ----- ------------------------
上記は困っている友達へのメッセージです。
一部のネチズンは、この種のことには jQuery を使用する必要がないと言っているため、実際に使用する必要はないので、純粋な JavaScript バージョンを作成しましょう
HTML を変更する必要があります
数値のみ入力可能 (純粋な JavaScript)
function ValidateNumber(e, pnumber){
if (!/^d $/.test(pnumber)) {
e.value = /^d /.exec(e.value);}
return
}
小数点を入力できます (純粋な JavaScript)
function ValidateNumber(e, pnumber)
{
if (!/^d [.]?d*$/ .test(pnumber))
{
e.value = /^d [.]?d*/.exec(e.value );
}
return false;
}
一部のネチズンは小数点以下 1 桁に制限したいと考えているため、実際にいくつかの変更を加えてみましょう。唯一重要なことは RegExp を変更することです
function ValidateFloat2(e, pnumber)
{
if (!/^d [.]?[1- 9]?$/.test(pnumber))
{
e.value = / d [.]?[1-9]?/.exec(e.value);
}
return
}
悪質な IE を使用している場合、最初に数字以外を入力すると迷惑な null が返されるので、次のように書き換えてフィルターで除外する必要があります
if (!/^d $/.test(pnumber ))
{
var newValue = /^d /。 exec(e.value);
if (newValue != null)
{
e.value =
}
else
{
e.value = " ";
}
}
return false;