文本框仅采用数值而不是在开始时取零

时间:2016-09-22 10:47:56

标签: javascript asp.net

我是javascript的新手,我想从javascript.textbox验证文本框应该只采用数值,并且在开始时不应该为零。

我尝试了以下功能,但工作正常,但不明白如何避免从第一位置零。

下面是我的HTML代码。

<asp:TextBox ID="cp1_txtMob" palceholder="10 digit mobile No." ondrop="return false;" onPaste="return false;" runat="server" class="textfile_new2" Style="color: #333;" onkeydown="return isNumberKey(event);"  MaxLength="10" autocomplete="OFF"></asp:TextBox>

function isNumberKey(e) {
    var t = e.which ? e.which : event.keyCode;
    if ((t >= 48 && t <= 57) || (t >= 96 && t <= 105) || (t == 8 || t == 9 || t == 127 || t == 37 || t == 39 || t == 46))
        return true;
    return false;
}

请帮帮我。

2 个答案:

答案 0 :(得分:1)

理想情况下,您应该使用isNaN()进行此类比较。

http://www.w3schools.com/jsref/jsref_isnan.asp

答案 1 :(得分:1)

您可以使用它onkeyup="AvoidZero(this.id);"

<asp:TextBox ID="cp1_txtMob" palceholder="10 digit mobile No." ondrop="return false;" onPaste="return false;" runat="server" class="textfile_new2" Style="color: #333;" onkeydown="return isNumberKey(event);"  MaxLength="10" autocomplete="OFF" onkeyup="AvoidZero(this.id);"></asp:TextBox>

function AvoidZero(v) { 
    var V = document.getElementById(v).value; 
        return (V.charAt(0) == 0) ? (document.getElementById(v).value = V.substring(1, V.length), false) : false; 
}