这个简单的Javascript验证的任何替代方案?

时间:2013-08-19 16:10:03

标签: javascript validation

有谁能告诉我验证用户输入的替代方法是什么?这只是我今天写的一个非常基本的代码。

  • 有一个用HTML编码的按钮
  • 当用户点击它时,它会提示输入
  • 输入只是数字


var a, b;
function cal(){
    a = prompt("enter the width");
        while(isNaN(a) || a <= 0 || a > 1000){
        alert("Invalid Input, enter it again!");
        return cal();
            }
    b = prompt("enter the length");
        while(isNaN(b) || b <= 0 || b > 1000){
        alert("Invalid Input, enter it again!");
        return cal();
            }
    result(a,b);
    }
function result(a,b){
    var perimeter = (2*a)+(2*b);
    var area = (a*b);
    document.write("Perimeter: "+perimeter+"<br>");
    document.write("Area: "+area+"<br>");
    }

2 个答案:

答案 0 :(得分:1)

另一种方法是使用新的HTML5输入类型并回退到类似this的内容 如果浏览器还不支持新的输入类型。

<input type="number" min="1" max="1000" />

但不要忘记你还必须做服务器端验证!

网上有很多很棒的资源,关于如何做到这一点。

HTML Text Input allow only Numeric input

答案 1 :(得分:0)

您可以在确认中使用正则表达式:

var ptrn=/\D/g; // 'D' is any non-digit
if(ptrn.test(b) || b <= 0 || b > 1000){
    alert("Please enter only integers between 0 and 1000!");
    return cal();
}