jQuery /从字符串获取数字
我的页面上有一个按钮,其类别为comment_like
,ID为comment_like_123456
,但最后的数字是可变的;可能是1到1000000.jQuery /从字符串获取数字
单击此按钮时,我需要抓住最终号码,以便我可以在具有相同后缀的其他元素上运行任务。
有没有简单的方法在jQuery中抓取这个数字?
$('.comment_like').click(function() {
var element_id = $(this).attr('id');
// grab number from element ID
// do stuff with that number
});
你可以这样说:
var suffix = 'comment_like_123456'.match(/\d+/); // 123456
对于按钮:
$('.comment_like').click(function(){
var suffix = this.id.match(/\d+/); // 123456
});
jQuery是不是灵丹妙药。使用Javascript!
var temp = "comment_like_123456".split("_")
alert(temp[2])
只需获取id并通过正则表达式运行它。
$(mybutton).click(function() {
var num = parseInt(/^.*\_(\d+)$/.exec(this.id)[1])
});
exec后的[1]是什么? – user938363 2015-10-21 20:54:31
@ user938363它获得匹配字符串中的第一个捕获组(即,第一组括号之间的所有内容,由'\ d +'匹配的内容 - 一个数字) – mgibsonbr 2015-10-21 22:39:38
这是普通老式的正则表达式任务,它无关的jQuery:
"comment_like_123456".match(/\d+/)
=> ["123456"]
在你的点击处理程序:
var number = $(this).attr('id').split('_').pop();
只要数字总是以下划线结尾。只要html或要求不改变,紧密耦合:) – Sarfraz 2012-02-14 19:41:16
var x = 'comment_like_6846511';
var y = '';
for (i = 0; i < x.length; i++)
{
if ("" + parseInt(x[i]) != "NaN") //if the character is a number
y = y + x[i];
}
document.write(y);
what if var suffix ='(123)131-2312'; – Swaraj 2014-09-18 13:50:31