Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
文本框中allow-1和所有正数的javascript验证_Javascript - Fatal编程技术网

文本框中allow-1和所有正数的javascript验证

文本框中allow-1和所有正数的javascript验证,javascript,Javascript,我正在尝试验证一个文本框,以允许包含-1在内的所有正数 我试过这个,它只允许正数 函数allownumbers(e,txtBox){ var键; key=(e.keyCode)?e.keyCode:e.charCode; 如果(e.charCode==0){ 返回true; } 如果((键57)&(键!=46)&(键!=44)){ 返回false; } 如果(键==46){ if((txtBox.value).indexOf('.')!=-1){ 返回false; } } 如果(键==44){

我正在尝试验证一个文本框,以允许包含-1在内的所有正数

我试过这个,它只允许正数

函数allownumbers(e,txtBox){
var键;
key=(e.keyCode)?e.keyCode:e.charCode;
如果(e.charCode==0){
返回true;
}
如果((键<48 | |键>57)&(键!=46)&(键!=44)){
返回false;
}
如果(键==46){
if((txtBox.value).indexOf('.')!=-1){
返回false;
}
}
如果(键==44){
if((txtBox.value).indexOf(',')!=-1){
返回false;
}
}
返回true;
}

但如何允许-1(仅)与所有正数
提前感谢

与其防止击键,为什么不验证和清理输入?也许是这样的:

function allownumbers(e, txtBox) {
    var val = parseInt(txtBox.value);
    if(!val || val < -1) {
        val = 0; // invalid value, reset to zero
    }

    txtBox.value = val;
}
函数allownumbers(e,txtBox){
var val=parseInt(txtBox.value);
如果(!val | | val<-1){
val=0;//无效值,重置为零
}
txtBox.value=val;
}

parseInt(txtBox.value,10)>=-1
???如果不需要0,也可以使用
!==0
。Elliot Bonneville的可能重复项-文本框中所有正数的输入应为数字>=-1
function allownumbers(e, txtBox) {
    var val = parseInt(txtBox.value);
    if(!val || val < -1) {
        val = 0; // invalid value, reset to zero
    }

    txtBox.value = val;
}