关于用户输入限制的Javascript

时间:2017-10-19 19:45:38

标签: javascript

我必须在这里遗漏一些东西,

我的理解是,如果用户键入的数字大于1000000000,系统将不允许它,我缺少什么?它一定是小事。

switch (validationType)
    {          
        case ValidationType.NONE :
        validationFunction = String.Empty;
        break;

        case ValidationType.NUMBERS:
        validationFunction = "validateNumber(event)";
        break;                               

        case ValidationType.ALPHANUMERIC:
        validationFunction = "validateAlphanumeric(event)";
        break;

        case ValidationType.ALPHABETS:
        validationFunction = "validateAlphabets(event)";
        break;                

        case ValidationType.WEBSITE :
        validateWebsite = "ValidateWebsite";
        break;

    }            

<input type="text" id="@textBoxID" style="width:105px"  maxlength="200" 
value="@answer" onkeyup="@validationFunction" />  

function validateNumber(event)
{
if (event.target.value > 1000000000)
{
    event.preventDefault();
}
}

1 个答案:

答案 0 :(得分:1)

使用onkeypress而不是onkeyupkeyup事件发生得太晚,无法阻止默认操作。

function validateNumber(event) {
  if (event.target.value > 1000000000) {
    event.preventDefault();
  }
}
<input type="text" onkeypress="validateNumber(event)">