Можно ли фильтровать числа из переменной.JQuery: Как мы можем фильтровать int из переменной
Я могу показать вам один пример здесь по ссылке http://jsfiddle.net/sweetmaanu/82r5v/6/
мне нужно получить только цифры от предупредительного сообщения
Можно ли фильтровать числа из переменной.JQuery: Как мы можем фильтровать int из переменной
Я могу показать вам один пример здесь по ссылке http://jsfiddle.net/sweetmaanu/82r5v/6/
мне нужно получить только цифры от предупредительного сообщения
изменения var order = $("#boxes").sortable("toArray");
в var order = $("#boxes").sortable("toArray").join(',').replace(/[a-zA-Z]/gi, "");
Демо-версия:http://jsfiddle.net/82r5v/13/
// Remove all non-digits from the string
'box1'.replace(/\D/g, ''); // => '1'
// Same, but try to make the string a number
Number('box1'.replace(/\D/g, '')); // => 1
// Shorthand for making an object a number (+o is the same as Number(o))
+'box1'.replace(/\D/g, ''); // => 1
// parseInt(s) works if the number is at the beginning
parseInt('1box'); // => 1
// but not if it occurs later
parseInt('box1'); // => NaN
Просто замените строку коробки из него.
for (var i = 0; i < order.length; i++) {
order[i] = order[i].replace('box', '');
}
Таким образом, вместо box1, box2, box3, box4
вы хотите увидеть 1,2,3,4
Вы можете использовать регулярное выражение как this:
var order = $("#boxes").sortable("toArray") + "";
alert(order.replace(/[^0-9,]/g, ''));
Я также должен был добавить пустую строку order
, поскольку он не распознавался как строковый объект, хотя jQuer y документация говорит, что это должно быть, когда вы вызываете sortable("toArray")
.
Может быть, используя регулярные выражения что-то вроде этого:
`alert(order.join(',').match(/\d/g));`
Чтобы вернуть массив в качестве чисел.
(\d
матчи все цифры, g
означает глобальный матч группового символа)
Один из способов сделать это с помощью регулярных выражений - http://jsfiddle.net/holodoc/82r5v/14/
$(document).ready(function() {
var arrValuesForOrder = ["2", "1", "3", "4"];
var ul = $("#boxes"),
items = $("#boxes li.con");
for (var i = arrValuesForOrder[arrValuesForOrder.length - 1]; i >= 0; i--) {
// arrValuesForOrder[i] element to move
// i = index to move element at
ul.prepend(items.get(arrValuesForOrder[i] - 1));
}
$("#boxes").sortable({
handle : '.drag',
update: function() {
var order = $("#boxes").sortable("toArray");
var sorted = [];
$.each(order, function(index, value){
sorted.push(value.match(/box(\d+)/)[1]);
})
alert(sorted);
}
});
});
+1 Ударьте меня! – msanford
Из интереса есть ли преимущество использования этого метода regex? –
@benedict_w Для меня это было бы удобочитаемо. Regex может выглядеть и сканировать как переработанное решение, которое действительно означает «заменить эту строку ничем». Если вы свободно говорите в Regex, он, вероятно, сканирует так же легко. Но я думаю, что многие из нас все еще обращаются к нашим ресурсам каждый раз, когда мы используем регулярное выражение. ;-) Мне нравится сохранять его в ситуации, когда простая замена не достаточно хороша. –