不应允许用户使用javascript键入零作为第一个数字

时间:2011-08-12 15:40:51

标签: javascript asp.net javascript-events

我需要使用javascript验证用户在文本框中输入的数字。用户不应该输入0作为第一个数字,如09,08等,其中应该允许他输入90,9.07等。

请帮助我..我试图使用以下功能,但它完全不允许零。

   function AllowNonZeroIntegers(val)
   {
   if ((val > 48 && val < 58) || ((val > 96 && val < 106)) || val == 46 || val == 8 || val == 127 || val == 189 || val == 109 || val == 45 || val == 9)
           return true;
       return false;
   }

on Texbox1.Attributes.Add("onkeypress", "return AllowNonZeroIntegers(event.keyCode)");
Texbox1.Attributes.Add("onkeydown", "return AllowNonZeroIntegers(event.keyCode)");

2 个答案:

答案 0 :(得分:3)

使用charAt()控制X在Y的位置:

function checkFirst(str){
   if(str.charAt(0) == "0"){
       alert("Please enter a valid number other than '0'");
   }
}

答案 1 :(得分:0)

Ty this:

Texbox1.Attributes.Add("onkeydown", "return AllowNonZeroIntegers(event)");

function AllowNonZeroIntegers(e) {
    var val = e.keyCode;
    var target = event.target ? event.target : event.srcElement;
    if(target.value.length == 0 && val == 48) {
        return false;
    }
    else if ((val >= 48 && val < 58) || ((val > 96 && val < 106)) || val == 46 || val == 8 || val == 127 || val == 189 || val == 109 || val == 45 || val == 9) {
        return true;
    }
    else {
        return false;
    }
}

<强> Demo