JSFiddle - React, Tailwind, and code Playground
HTML
<p><input type="text" style="ime-mode:disabled" onkeyup="return ValidateNumber(this,value)" />只能輸入數字</p>
<p><input type="text" style="ime-mode:disabled" onkeyup="return ValidateFloat(this,value)" />可以輸入小數點</p>
<p><input type="text" style="ime-mode:disabled" onkeyup="return ValidateFloat2(this,value)" />可以輸入小數點(限制小數點後一位)</p>
JavaScript
function ValidateNumber(e, pnumber)
{
if (!/^\d+$/.test(pnumber))
{
var newValue =/^\d+/.exec(e.value);
if (newValue != null)
{
e.value = newValue;
}
else
{
e.value = "";
}
}
return false;
}
function ValidateFloat(e, pnumber)
{
if (!/^\d+[.]?\d*$/.test(pnumber))
{
var newValue = /^\d+[.]?\d*/.exec(e.value);
if (newValue != null)
{
e.value = newValue;
}
else
{
e.value = "";
}
}
return false;
}
function ValidateFloat2(e, pnumber)
{
if (!/^\d+[.]?[1-9]?$/.test(pnumber))
{
var newValue = /\d+[.]?[1-9]?/.exec(e.value);
if (newValue != null)
{
e.value = newValue;
}
else
{
e.value = "";
}
}
return false;
}