好吧,我有一个HTML元素<div id="slide_item_#">
,其中#
是一个数字。我想用Javascript做的是从id中获取数字。所以我假设一个正则表达式,我只是不知道如何在Javascript中使用它们。
var html_id = "slide_item_3";
var id_number = /* code here so that id_number == 3 */ ;
答案 0 :(得分:5)
我只是使用parseInt()
解析没有前缀的字符串,如下所示:
var id_number = parseInt(html_id.replace('slide_item_',''), 10);
如果您有选项,则改进将涉及为您的元素命名您的类与您的id(即“slide_item”)相同,除了您的id将在末尾附加正确的数字(即“ slide_item2" )。然后,在您的代码中,您只需使用this.className
而不是显式使用“slide_item_”,此代码的其余部分将更加动态
答案 1 :(得分:2)
var id_number = parseInt(html_id.substr(11));
答案 2 :(得分:2)
var html_id = "slide_item_3";
var id_number = +html_id.split('_').pop();
答案 3 :(得分:0)
如果您不知道前缀或后缀......您只需要ID号:
var id_number = html_id.replace(/\D+/,""); // Remove all non-digit characters
将导致:
var html_id = "slide_item_3" // 3
var html_id = "foo45bar" // 45
var html_id = "1-item-X" // 1
var html_id = "1-item-2" // 12 (take care of such cases!)