我试图删除除javascript中的一个文本之外的所有文本
这个想法就是做
之类的事情//jQuery("someelement").attr("class");
var classes= "cnode_1 timestamp_1413504000 item";
classes = classes.replace(/^(?!timestamp_)/,'');
我只想采用以timestamp_开头的文本,预期输出为:
timestamp_1413504000
我想要这个,然后获取数字
//now "classes" show be timestamp_1413504000
classes = classes.replace("timestamp_","");
预期的输出是:
1413504000
我想避免使用类似的东西,在空间上拆分clasess,然后用于bucle,最后与indexOf进行比较
答案 0 :(得分:2)
你需要“timestamp_”吗?
为什么不
= classes.replace(/^.*timestamp_(\d+).*/img, "$1");
答案 1 :(得分:1)
只需使用.match
即可获得所需的部分。
var classes= "cnode_1 timestamp_1413504000 item";
// match will return the matched string and the groups in an array
var ts = classes.match(/timestamp_(\d+)/)[1]; // match[1] is the group (\d+)
// 1413504000
答案 2 :(得分:0)
我知道你说你想避免拆分或使用indexOf,但是javaScript没有启动' startsWith'功能。你为什么要避免这样做?以下是不可接受的吗?
var NumberOutput;
var classList = document.getElementById('elementYouAreLookgingAt').className.split(/\s+/);
for (var i = 0; i < classList.length; i++) {
if (classList[i].indexOf("someClass") == 0) {
NumberOutput = classList[i].replace("someClass", "");
}
}