给出如下列表:
1,3,412,51213,djdd@asdasd.net, blahblah, 123123123123
作为值存在于输入类型“text”内:
<input type="text" value="1,3,412,51213,djdd@asdasd.net, blahblah, 123123123123, wow@wow.com" />
如何确定是否存在值,例如3,还是blahblah或wow@wow.com?
我尝试用inputval.split(',')分割,但这只给了我数组。可以搜索吗?
答案 0 :(得分:7)
像这样:
if (jQuery.inArray(value, str.replace(/,\s+/g, ',').split(',')) >= 0) {
//Found it!
}
replace
调用会删除逗号后的任何空格
inArray
返回匹配的索引。
答案 1 :(得分:5)
使用jQuery:
var exists = $.inArray(searchTerm, $('input').val().split(',')) != -1;
exists
现在是一个布尔值,表示是否在值中找到了searchTerm
。
答案 2 :(得分:1)
var list = inputval.split(',');
var found = false;
for (var i=0; i<list.length; ++i) {
if (list[i] == whateverValue) {
found = true;
break;
}
}
如果值匹配必须属于同一类型,则使用“===”可能会更加挑剔。否则,只需使用“==”,因为它会以您可能期望的方式将int与字符串进行比较。
答案 3 :(得分:0)
您想要使用var arr = theString.split(',')
,然后使用var pos = arr.indexOf('3');
答案 4 :(得分:0)
这样做:
var val = $('myinput').val()
val = ',' + val.replace(', ',',').replace(' ,',',').trim() + ','; // remove extra spaces and add commas
if (val.indexOf(',' + mySearchVal + ',' > -1) {
// do something here
}
它确保开始和结束空间也被忽略(我认为这就是你想要的)。