除了这个简单的Javascript验证,还有其他方法吗?

除了这个简单的Javascript验证,还有其他方法吗?,javascript,validation,Javascript,Validation,有人能告诉我验证用户输入的替代方案吗?这只是我今天写的一段非常基本的代码 有一个用HTML编码的按钮 当用户单击它时,它将提示输入 输入的只是数字 var a、b; 函数cal(){ a=提示(“输入宽度”); while(isNaN(a)| a 1000){ 警报(“输入无效,请重新输入!”); 返回cal(); } b=提示(“输入长度”); while(isNaN(b)| b 1000){ 警报(“输入无效,请重新输入!”); 返回cal(); } 结果(a,b); } 功能结果(a

有人能告诉我验证用户输入的替代方案吗?这只是我今天写的一段非常基本的代码

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

var a、b;
函数cal(){
a=提示(“输入宽度”);
while(isNaN(a)| a 1000){
警报(“输入无效,请重新输入!”);
返回cal();
}
b=提示(“输入长度”);
while(isNaN(b)| b 1000){
警报(“输入无效,请重新输入!”);
返回cal();
}
结果(a,b);
}
功能结果(a、b){
变量周长=(2*a)+(2*b);
var面积=(a*b);
文件。写下(“周长:“+Permission+”
”); 文件。写入(“区域:“+Area+”
”); }
另一种选择是使用新的HTML5输入类型,然后退回到类似 如果浏览器尚不支持新的输入类型

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

但不要忘记,您仍然必须进行服务器端验证

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


另一种选择是使用新的HTML5输入类型,然后退回到类似 如果浏览器尚不支持新的输入类型

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

但不要忘记,您仍然必须进行服务器端验证

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


您可以在您的应用程序中使用正则表达式:

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();
}
var ptrn=/\D/g;/'D’是任何非数字
if(试验(b)| b 1000){
警告(“请只输入0到1000之间的整数!”);
返回cal();
}

您可以在您的应用程序中使用正则表达式:

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();
}
var ptrn=/\D/g;/'D’是任何非数字
if(试验(b)| b 1000){
警告(“请只输入0到1000之间的整数!”);
返回cal();
}

在谷歌上搜索jquery验证插件。我的示例在谷歌上搜索jquery验证插件。我的示例是一个很好的建议。有一点吹毛求疵……为了复制原始代码所做的事情,OP还必须使用mix,max属性。@Haohmaru,我今天刚开始使用javascript,所以只涉及基本内容,对PHP或任何与服务器相关的语言不太了解。但是谢谢anyway@vincentChen很酷,伙计,请允许我建议你通读这些很棒的文档,这里有一个+1让你继续下去。很好的建议。有一点吹毛求疵……为了复制原始代码所做的事情,OP还必须使用mix,max属性。@Haohmaru,我今天刚开始使用javascript,所以只涉及基本内容,对PHP或任何与服务器相关的语言不太了解。但是谢谢anyway@vincentChen很酷,伙计,我建议你仔细阅读这些很棒的文档,这里有一个+1来让你继续。regex只用于验证数字输入,对吗?我已经用“isNaN”完成了。不一样吗?不,这是我展示的非数字图案
isNaN
将为任何数字返回false(如果您使用
!isNaN
,则返回true,包括十进制或负数或任何可以强制为数字的内容。这意味着1.5将通过0-1000边界的
isNaN
测试。正则表达式仅用于验证数字输入,对吗?我已经使用“isNaN”完成了这一操作。不一样吗?不,这是我展示的非数字模式。
isNaN
将为任何数字返回false(如果使用
!isNaN
,则返回true),包括十进制或负数或任何可以强制为数字的内容。这意味着1.5将通过0-1000边界的
isNaN
测试。