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 のように見えない (これは一例です)

前または後にコマンドを削除するにはどうすればよいですか?

一致する文字列に最初の位置と最後の位置があるかどうかを考えてください。それで問題です

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 に答える