日期:2014-05-16  浏览次数:20336 次

js中关于1与11,2和22的判断
本帖最后由 andrewnext 于 2013-05-28 23:42:14 编辑
下拉框中有一列数字,从1到30.点击旁边的确认按钮,则选中的数字将添加到下拉框下方的文本框下面。如果数字不重复那么,那么在下拉框中用‘+’将两个数字隔开。我使用的indexof来判断数字是否重复。但是当文本中有数字11的时候,1是无法添加进去的。同理,有22的时候,2时无法添加的。
function ishaveone() {
            var value = false;
            var valueone = valueTextLine.split("+");
            for (var i = 0; i < valueone.length; i++) {
                if (valueLine == valueone[i]) {
                    value = true;
                }
            }
            return value;
        }

我用这段代码判断是否重复,可是无效。valueTextLine是文本框的值(如:1+4+9```),valueLine是下拉框的值。总是没效果。求指点。
JavaScript

------解决方案--------------------
("+"+valueTextLine+"+").indexOf("+"+valueLine+"+")!=-1
------解决方案--------------------
var num = 1;
var reg = new RegExp("^(\d+\+)*" + num + "(\+\d+)*$");
if(reg.test("11+23+111+33"))
{
alert("已经有了");
}