テキストボックスの onkeypress イベントに次の関数を追加しました。小数点以下の 1 つの整数のみを許可し (例: .2,1.2,12.3 を許可し、2.34,.24,..,2..3 を許可しない)、整数をテキスト ボックスに入力できます。次のコードを使用して、アルファベットの特殊文字などを貼り付けます テキストボックスへの入力を制限する: 数字と小数点のみを許可しますが、テキストボックスへの貼り付けを回避する方法がわかりません
ただし、ユーザーは無効なテキストを貼り付けることができます。これを止める最善の方法は何ですか??
onkeypress="return isNumberKey(this,event);"
function isNumberKey(obj,evt) {
var charCode = (evt.charCode) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 46)
if (window.event) //IE
{
window.event.returnValue = false;
}
else //Firefox
{
return false; // <-- What should I write here instead
}
else {
var input = obj.value;//alert(input);
var len = obj.value.length; // alert(len);
var index = obj.value.indexOf('.'); // alert(index);
if (index > 0 && charCode == 46) {
if (window.event)
{
window.event.returnValue = false;
}
else
{
return false;
}
}
if (index >0 || index==0) {
var CharAfterdot = (len + 1) - index;
if (CharAfterdot > 2) {
if (window.event)
{
window.event.returnValue = false;
}
else
{
return false;
}
}
}
if (charCode == 46 && input.split('.').length >1) {
if (window.event)
{
window.event.returnValue = false;
}
else
{
return false;
}
}`enter code here`
}
return true;
}