如何使用javascript阻止或验证用户在文本框中输入带有范围(例如:100000)和两位小数的6位数字?
我在我的文本框中使用onkeypress
事件,我的代码是:
var txtBudget = document.getElementById('MainContent_txtBudget');
txtBudget.addEventListener('keypress', function (evt)
{
var value = this.value + String.fromCharCode(evt.which);
if (!/^\d{0,6}(?:\.\d{0,2})?$/.test(value))
{
evt.preventDefault();
}
},
false);
答案 0 :(得分:2)
使用HTML5 input type='number'
,无需使用javascript进行此验证。例如,您想要一个介于100,000.00和200,000之间的数字,带有两位小数,请在HTML中使用
Number: <input type="number" name="number" min="100000.00" max="200000" step='0.01'/>
答案 1 :(得分:1)
我想知道为什么不使用Asp.net工具箱中的RegularExpression控件。看看这个样本:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" ControlToValidate="TextBox1"
runat="server" ValidationExpression="^\d{1,6}(\.\d{1,2})?$" ErrorMessage="Only 6 digit numbers allowed"></asp:RegularExpressionValidator>
如果我的ValidationExpression错误,请访问此链接供您选择:Find Any Regular Expression
答案 2 :(得分:0)
'我想你想要这样的东西,
调用此函数onKeyPress
您的文本框事件
function test()
{
var obj=document.getElementById('textbox1');
if(obj.value)
{
if(isNaN(obj.value))
{
alert('Please enter only numbers');
return;
}
}
}