我感觉有点奇怪,这样就可以了吗? 感觉还是有点小问题, 那如果当你的串是第一个元素的时候呢 或者最后一个元素呢 都会少一个+ 号,这样应该是匹配不到的吧,中间的话应该是没问题, 感觉 还是用split 分割后循环值完全进行匹配这样最准确。其实我开始的时候用了spit 没效果 不到为毛 就下面这段代码 function ishaveone() { var value = false; var valueone = valueTextLine.split("+"); for (var i = 0; i < valueone.length; i++) { if (TextLine == valueone[i]) { value = true; } } return value; }
我感觉有点奇怪,这样就可以了吗? 感觉还是有点小问题, 那如果当你的串是第一个元素的时候呢 或者最后一个元素呢 都会少一个+ 号,这样应该是匹配不到的吧,中间的话应该是没问题, 感觉 还是用split 分割后循环值完全进行匹配这样最准确。其实我开始的时候用了spit 没效果 不到为毛 就下面这段代码 function ishaveone() { var value = false; var valueone = valueTextLine.split("+"); for (var i = 0; i < valueone.length; i++) { if (TextLine == valueone[i]) { value = true; } } return value; } 可以啊var valueTextLine = "89+57+55+44"; var TextLine = "55"; function ishaveone() { var value = false; var valueone = valueTextLine.split("+"); for (var i = 0; i < valueone.length; i++) { if (TextLine == valueone[i]) { value = true; } } return value; } alert(ishaveone());
/(^1\+)|(\+1\+)|(\+1$)/g.test("11+23+111+33") 这个稍微改一下就可以很灵活啦 var num = 1; var reg = new RegExp("(^" + num + "\+)|(\+" + num + "\+)|(\+" + num + "$)"); if(reg.test("11+23+111+33")) { }
我感觉有点奇怪,这样就可以了吗? 感觉还是有点小问题, 那如果当你的串是第一个元素的时候呢 或者最后一个元素呢 都会少一个+ 号,这样应该是匹配不到的吧,中间的话应该是没问题,
感觉 还是用split 分割后循环值完全进行匹配这样最准确。
把test左侧的1替换为你的新值 右侧是你那一串的字符串
我感觉有点奇怪,这样就可以了吗? 感觉还是有点小问题, 那如果当你的串是第一个元素的时候呢 或者最后一个元素呢 都会少一个+ 号,这样应该是匹配不到的吧,中间的话应该是没问题,
感觉 还是用split 分割后循环值完全进行匹配这样最准确。
哥们真心可以了 下面是整快js代码 你可以试一试
function addLine() {
var valueTextLine = getInput("TextLine");
var valueLine = getInput("Line");
//如果选择全部,则清空以前添加的,然后添加上全部
if (valueLine == "全部")
setInput("TextLine", valueLine);
else {
//如果valueTextLine是全部,则清空,然后添加现在的。
if (valueTextLine == "全部")
setInput("TextLine", "");
//if (valueTextLine.indexOf(valueLine) == -1) {
if (("+" + valueTextLine + "+").indexOf("+" + valueLine + "+") == -1) {
if (getInput("TextLine") == "")
setInput("TextLine", valueLine);
else
setInput("TextLine", getInput("TextLine") + "+" + valueLine);
}
}
}
我感觉有点奇怪,这样就可以了吗? 感觉还是有点小问题, 那如果当你的串是第一个元素的时候呢 或者最后一个元素呢 都会少一个+ 号,这样应该是匹配不到的吧,中间的话应该是没问题,
感觉 还是用split 分割后循环值完全进行匹配这样最准确。
没见valueTextLine的前后增加的"+"号的么,这样就不会有问题了
我感觉有点奇怪,这样就可以了吗? 感觉还是有点小问题, 那如果当你的串是第一个元素的时候呢 或者最后一个元素呢 都会少一个+ 号,这样应该是匹配不到的吧,中间的话应该是没问题,
感觉 还是用split 分割后循环值完全进行匹配这样最准确。其实我开始的时候用了spit 没效果 不到为毛 就下面这段代码 function ishaveone() {
var value = false;
var valueone = valueTextLine.split("+");
for (var i = 0; i < valueone.length; i++) {
if (TextLine == valueone[i]) {
value = true;
}
}
return value;
}
我感觉有点奇怪,这样就可以了吗? 感觉还是有点小问题, 那如果当你的串是第一个元素的时候呢 或者最后一个元素呢 都会少一个+ 号,这样应该是匹配不到的吧,中间的话应该是没问题,
感觉 还是用split 分割后循环值完全进行匹配这样最准确。其实我开始的时候用了spit 没效果 不到为毛 就下面这段代码 function ishaveone() {
var value = false;
var valueone = valueTextLine.split("+");
for (var i = 0; i < valueone.length; i++) {
if (TextLine == valueone[i]) {
value = true;
}
}
return value;
}
可以啊var valueTextLine = "89+57+55+44";
var TextLine = "55";
function ishaveone() {
var value = false;
var valueone = valueTextLine.split("+");
for (var i = 0; i < valueone.length; i++) {
if (TextLine == valueone[i]) {
value = true;
}
}
return value;
}
alert(ishaveone());
这个稍微改一下就可以很灵活啦
var num = 1;
var reg = new RegExp("(^" + num + "\+)|(\+" + num + "\+)|(\+" + num + "$)");
if(reg.test("11+23+111+33"))
{
}
我感觉有点奇怪,这样就可以了吗? 感觉还是有点小问题, 那如果当你的串是第一个元素的时候呢 或者最后一个元素呢 都会少一个+ 号,这样应该是匹配不到的吧,中间的话应该是没问题,
感觉 还是用split 分割后循环值完全进行匹配这样最准确。
没见valueTextLine的前后增加的"+"号的么,这样就不会有问题了是的,那天确实没怎么仔细看,这样前后+了这个去判断是没问题的。
var reg = new RegExp("^(\d+\+)*" + num + "(\+\d+)*$");
if(reg.test("11+23+111+33"))
{
alert("已经有了");
}