Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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 - Fatal编程技术网

Javascript 当用户输入一个数字时,显示一个对话框

Javascript 当用户输入一个数字时,显示一个对话框,javascript,jquery,Javascript,Jquery,我们有一个商店,用户可以通过输入产品标题或搜索产品SKU进行搜索。我们希望向在搜索框中输入数字的用户显示提示,为他们提供有关搜索SKU的一些信息 示例:搜索Polo时,什么也没发生。搜索GD459时,会出现一个提供信息的框 我在电视上看到了很多答案,以便检测整个内容是否是一个数字,或者它是否是文本,但不是两者都是 我知道要检测用户类型,我应该执行以下操作: $(“表单输入”).keyup(函数(){ //大概是一个if语句? }); {{'general.search.submit'|t}

我们有一个商店,用户可以通过输入产品标题或搜索产品SKU进行搜索。我们希望向在搜索框中输入数字的用户显示提示,为他们提供有关搜索SKU的一些信息

示例:搜索Polo时,什么也没发生。搜索GD459时,会出现一个提供信息的框

我在电视上看到了很多答案,以便检测整个内容是否是一个数字,或者它是否是文本,但不是两者都是

我知道要检测用户类型,我应该执行以下操作:

$(“表单输入”).keyup(函数(){
//大概是一个if语句?
});


{{'general.search.submit'|t}
您需要使用
.split()
将字符串拆分为组成部分,然后循环遍历这些部分并测试数字

$("form input").keyup(function(){

    const stringArray = $(this).val().split("");
    let isNumeric = false;

    $(stringArray).each(function(i,v){ //i = index, v = value at that index
        if(!isNaN(v))
        {
            isNumeric = true;
            return false;
        }
    });

    if (isNumeric)
        alert("Yay it's got a number in it");
});

您需要使用
.split()
将字符串拆分为组成部分,然后循环遍历这些部分并测试数字

$("form input").keyup(function(){

    const stringArray = $(this).val().split("");
    let isNumeric = false;

    $(stringArray).each(function(i,v){ //i = index, v = value at that index
        if(!isNaN(v))
        {
            isNumeric = true;
            return false;
        }
    });

    if (isNumeric)
        alert("Yay it's got a number in it");
});
尝试以下方法:

$("form input").keyup(function(){
    if(this.value.match(/^[a-zA-Z]+$/) && this.value.match(/^[0-9]+$/)) {
        alert('Letters and numbers!');
    } else {
        // Not letters and numbers
    }
}
如果您有特定的SKU格式,您可以进一步细化它,例如2个字母加上4-8个数字:

$("form input").keyup(function(){
    if(this.value.match(/^[a-zA-Z]{2}[0-9]{4,8}$/)) {
        alert('Match');
    } else {
        // No match
    }
}
尝试以下方法:

$("form input").keyup(function(){
    if(this.value.match(/^[a-zA-Z]+$/) && this.value.match(/^[0-9]+$/)) {
        alert('Letters and numbers!');
    } else {
        // Not letters and numbers
    }
}
如果您有特定的SKU格式,您可以进一步细化它,例如2个字母加上4-8个数字:

$("form input").keyup(function(){
    if(this.value.match(/^[a-zA-Z]{2}[0-9]{4,8}$/)) {
        alert('Match');
    } else {
        // No match
    }
}

您是否考虑过使用针对数据库中此SKU字段的自动完成解决方案?这可能有助于理解SKU代码的结构。总是2个字符后跟3个数字吗?如果我搜索Polo4(也包含一个数字),会发生什么情况?您是否考虑过使用一个自动完成解决方案,以数据库中的此SKU字段为目标?这可能有助于理解SKU代码的结构。总是2个字符后跟3个数字吗?如果我搜索Polo4(也包含一个数字),会发生什么?