jQuery代码仍然有问题。

我想在用户在输入中输入内容时检查数组中字符串的字符。如果数组中第一个字符可用,我想显示“ VALID”。

var postcodes = ["00-240","80","32","90","91", "8", "11"];

    $('input[name="text-391"]').keyup(function(){
        var val = this.value;
        var m =  $.map(postcodes,function(value,index){
           var reg = new RegExp('^'+val+'.*$')
           return value.match(reg);
        });
        if(m.length && val.length) {
          $('#error').hide(300);
        } else {
          $('#error').show(300);
        }
    });


这段代码检查输入中所有用户类型都在数组中,但是我想逐字母检查此字母。

例如:

用户类型:0-可以

用户类型:00-还是可以的

用户类型00-340-不好,现在我要显示警告,提示我们数组中没有它

用户类型:3-没关系

用户类型:35-不太正常,现在我想显示警告,提示我们数组中没有

用户键入80-125-仍然可以[重要]

用户类型11-1-仍然可以[重要]

我将不胜感激任何提示。问候

最佳答案

您需要在$.map中添加以下代码

if(val.length>2 && val.indexOf("-")>-1 && !(value.indexOf("-")>-1))
        val= val.substring(0,val.indexOf("-"))


这是工作中的DEMO

说明:

您只想检查输入值的长度是否大于两个,并且它包含-,并且映射中的值不应包含-(您需要字母的最后和条件,例如“ xx-xxx”

谢谢

关于javascript - jQuery检查数组中是否有字母,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25190339/

10-12 19:19