0

如何在之前或之后删除带有逗号的匹配字符串

前任 :

<input value="1,2,3,4,5,6,7,8,9,10">

jQuery :

var input = $("input");
var val = input.val();
var random = Math.ceil(Math.random() * 10);
var new_val = val.replace(random,"");

input.val(new_val);

值看起来不像 1-10(这是一个示例)

我如何在之前或之后删除 comman 的问题?

考虑匹配字符串是否具有第一个位置和最后一个位置。所以有问题

PS:我必须按字符串查找,而不是索引或其他

游乐场:http: //jsbin.com/ulikof/1/edit

任何 ?

4

2 回答 2

2

如果在选择随机数时添加尾随逗号,它将删除单个逗号并正确显示:

var input = $("input");
var val = input.val();
var random = Math.ceil(Math.random() * 10);

if(val.indexOf(random) != 0) {
  random = ',' + random;
}
else {
  random = random + ','; 
}

var new_val = val.replace(random,"");

input.val(new_val);
于 2013-03-14T11:41:37.970 回答
1

这是一种使用纯 JS 的通用方法,您可以在其中添加任意数量的数字而无需更新代码。

http://jsfiddle.net/zuMNf/1/

var input = document.getElementsByTagName('input')[0], // [0] or loop through inputs
    val = input.value,
    arr = val.split(','),
    len = arr.length,
    random = Math.ceil(Math.random() * len);

for(var i = 0; i < len; i++) {
    if(parseInt(arr[i]) == random) {
        var j = i;
    }
};

arr.splice(j, 1);

input.value = arr.join(',');
于 2013-03-14T11:45:34.230 回答