千位是1,百位是3,十位是5,个位是4
上面的数是随便填写的,
固定有123|234|345|456|567|678|789|890|901|012,10组数是否在其中。
比如:
123这组是没有存在的
234不存在
345是存在
这样的条件如何判断?不按照顺序,只要检测10组中某一组是否存在填写的数字。

解决方案 »

  1.   


    <script type="text/javascript">
    <!--
    var reg = "1354";
    var str = "123|234|345|456|567|678|789|890|901|012|354";
    var arr = str.split("|");
    for(var i = 0; i < arr.length; i++){
    alert(arr[i] + "===>" + reg.indexOf(arr[i]));
    }
    //给你最后加了项354是存在的  结果 -1不存在 1存在
    //-->
    </script>
      

  2.   


    <script type="text/javascript">
    <!--
    var reg = "1354";
    alert("1354".indexOf("354")); //晕 这不就是354嘛
    //-->
    </script>
      

  3.   

    把一楼的改了改345是存在的,354也是存在的. var reg = "1354";
        var str = "123|234|345|456|567|678|789|890|901|012|354";
        var arr = str.split("|");
    var arr2 = [];
    var flg = true;
        for(var i = 0; i < arr.length; i++){
    arr2 = arr[i].split("");
    flg = true;
    for (var j=0;j< arr2.length;j++) {
    if (reg.indexOf(arr2[j])== -1){
    flg = false;
    }
    }
    flg?alert(arr[i] + " in "+reg):alert(arr[i]+" not in "+reg);
        }
      

  4.   


    function exec(str1 , str2 , str3 ,str4) {
                var list = [];
                var str = "123|234|345|456|567|678|789|890|901|012";
                var strReg = "[" + str1+str2+str3+str4 + "]{3}";
                var re = new RegExp(strReg, "g");
                var r = str.match(re);
                if (r != null) {
                    for (var i = 0; i < r.length; i++) {
                        list.push(r[i]);
                    }
                }
                return list;
            }
      

  5.   

    function func(a) {
    var reg = new RegExp("^["+new String(a).replace(/[\-\\]/g, "\\$&")+"]+$");
    var ns = "123|234|345|456|567|678|789|890|901|012".split("|");
    var res = [];
    for (var i=0; i<ns.length; i++) {
    res.push(ns[i] + " ----------- " + reg.test(ns[i]));
    }

    alert(res.join("\n"));
    }
    func(1354);
      

  6.   

    更正下 function func(a) {
    var reg = new RegExp("^["+new String(a).replace(/[\-\\\]]/g, "\\$&")+"]+$");
    var ns = "123|234|345|456|567|678|789|890|901|012".split("|");
    var res = [];
    for (var i=0; i<ns.length; i++) {
    res.push(ns[i] + " ----------- " + reg.test(ns[i]));
    }

    alert(res.join("\n"));
    }
    func(1354);
      

  7.   

    非常感谢大家。问题已经解决了我用了fandelei1982的方法。可能效率高一些。