Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.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
Javascript 如果输入字段不是数字或不为空,则替换为数字_Javascript_Jquery_Regex_Input_Replace - Fatal编程技术网

Javascript 如果输入字段不是数字或不为空,则替换为数字

Javascript 如果输入字段不是数字或不为空,则替换为数字,javascript,jquery,regex,input,replace,Javascript,Jquery,Regex,Input,Replace,我有一个输入字段,我正在使用.on('input')函数监视更改,因为它包括.change和.keyup 没有提交按钮,但我只是想改变输入字段的行为,取决于输入的内容 稍后我将验证服务器端,我使用的是html5 type='number' 我只希望字段能够容纳一个数字,也可以是空的。例如,用户可能希望清空内容以键入数字15 但是,我不希望接受任何其他字符-如果输入了这些字符,将显示一个提示,通知用户这一点,并且该字段默认返回其起始值1 HTML JS $(文档).ready(函数($){ v

我有一个输入字段,我正在使用.on('input')函数监视更改,因为它包括.change和.keyup

没有提交按钮,但我只是想改变输入字段的行为,取决于输入的内容

稍后我将验证服务器端,我使用的是html5 type='number'

我只希望字段能够容纳一个数字,也可以是空的。例如,用户可能希望清空内容以键入数字15

但是,我不希望接受任何其他字符-如果输入了这些字符,将显示一个提示,通知用户这一点,并且该字段默认返回其起始值1

HTML


JS

$(文档).ready(函数($){
var num=$('input[type=“number”]”)。val();
$('input[type=“number”]”)。在('input',函数(){
var num=$(this.val();
如果(num<1 | | isNaN(num)| | num!=''){
警报(num+'不是数字或小于1');
$(此).val(1);
}
});
});
我试过上面的代码,它不允许空字段。我还尝试了
if(num<1 | | isNAN(num)| | num.length!=0){

我是否需要用Regexr来使用
.replace()
。我一直在看一些问题,比如,但考虑到我正在测试一个空字符串,我不确定这就是我要找的

您可以使用:

$('input[type=“number”])。在('input',函数(){
如果(!this.validity.valid){
警报(this.value+'不是数字或小于1');
这个值=1;
}    
});

您可以使用:

$('input[type=“number”])。在('input',函数(){
如果(!this.validity.valid){
警报(this.value+'不是数字或小于1');
这个值=1;
}    
});

您可以使用:

$('input[type=“number”])。在('input',函数(){
如果(!this.validity.valid){
警报(this.value+'不是数字或小于1');
这个值=1;
}    
});

您可以使用:

$('input[type=“number”])。在('input',函数(){
如果(!this.validity.valid){
警报(this.value+'不是数字或小于1');
这个值=1;
}    
});


HTML5的答案肯定更优雅

但是如果你想提供更多的支持,这通常是我在尝试验证数字时采用的方法

请注意,我使用的是
data min
属性,但如果您想切换,可以始终使用
$.attr()
获取您的
min=“
属性

$(document).ready(function ($) {
    $('input[type="number"]').on('change', function () {
        var min = parseInt(this.dataset.min),
            num = isNaN(parseInt(this.value)) ? 0 : parseInt(this.value),
            clamped = Math.max(num, min);

        if(num != clamped) {
            alert(num + ' is less than 1');
            this.value = clamped;
        }
    });
});

HTML5的答案肯定更优雅

但是如果你想提供更多的支持,这通常是我在尝试验证数字时采用的方法

请注意,我使用的是
data min
属性,但如果您想切换,可以始终使用
$.attr()
获取您的
min=“
属性

$(document).ready(function ($) {
    $('input[type="number"]').on('change', function () {
        var min = parseInt(this.dataset.min),
            num = isNaN(parseInt(this.value)) ? 0 : parseInt(this.value),
            clamped = Math.max(num, min);

        if(num != clamped) {
            alert(num + ' is less than 1');
            this.value = clamped;
        }
    });
});

HTML5的答案肯定更优雅

但是如果你想提供更多的支持,这通常是我在尝试验证数字时采用的方法

请注意,我使用的是
data min
属性,但如果您想切换,可以始终使用
$.attr()
获取您的
min=“
属性

$(document).ready(function ($) {
    $('input[type="number"]').on('change', function () {
        var min = parseInt(this.dataset.min),
            num = isNaN(parseInt(this.value)) ? 0 : parseInt(this.value),
            clamped = Math.max(num, min);

        if(num != clamped) {
            alert(num + ' is less than 1');
            this.value = clamped;
        }
    });
});

HTML5的答案肯定更优雅

但是如果你想提供更多的支持,这通常是我在尝试验证数字时采用的方法

请注意,我使用的是
data min
属性,但如果您想切换,可以始终使用
$.attr()
获取您的
min=“
属性

$(document).ready(function ($) {
    $('input[type="number"]').on('change', function () {
        var min = parseInt(this.dataset.min),
            num = isNaN(parseInt(this.value)) ? 0 : parseInt(this.value),
            clamped = Math.max(num, min);

        if(num != clamped) {
            alert(num + ' is less than 1');
            this.value = clamped;
        }
    });
});


isNAN
应该是
isNAN
我只需强制该值在您的参数范围内。我将在稍后发布答案。@VenkataPanga thx已更新问题,但仍然fails@Evilzebra好的,谢谢
this.validity.valid
足以检查html5元素的有效类型chekcing
isNAN
应该是
isNAN
我只想强制值在您的参数范围内。我会马上发布答案。@VenkataPanga thx更新了问题,但仍然fails@Evilzebra好的,谢谢
this.validity.valid
足以检查html5元素的有效类型chekcing
isNAN
应该是
isNAN
我只需强制该值为hin您的参数。我马上发布答案。@VenkataPanga thx更新了问题,但仍然fails@Evilzebra好的,谢谢
this.validity.valid
足以检查html5元素的有效类型chekcing
isNAN
应该是
isNAN
我只需强制该值在您的参数内。我会在片刻。@VenkataPanga thx已更新问题,但仍然fails@Evilzebra好的,谢谢
this.validity.valid
足以检查html5元素的有效类型chekcings查看Insights谢谢Insights谢谢Insights谢谢Insights谢谢Insights