【发布时间】:2019-06-29 23:13:17
【问题描述】:
我正在编写一个 JavaScript 代码来隐藏网站上不以特定文本开头的元素。
网站上有很多组合可以输出<span>。它们都以 2 个数字开头,然后是一个字母。例如:
76T
92Q
18H
71S
有时字符串在行尾也包含文本。 但现在我试图找出哪些行包含 2 个数字(不管是哪个),然后是字母“F”。比如92F、35F、19F等等。
我正在尝试使用 javascript .Match 但我没有得到任何结果。它说不存在这样的功能。
我的代码:
var descriptions = document.getElementsByClassName('myClass');
var reg = new RegExp("^([0-9])F(.*)");
for (var i=0; i<descriptions.length; i++) {
if (descriptions[i].match(reg)) {
console.log('it exists!');
}
}
基本上我只想要所有以数字 (0-9) 和字母 F 开头的字符串。它们之间没有空格。
网站上的输出如下所示:
<span class="myClass">36P Wooden</span>
编辑:
隐藏/删除不包含此文本的 div。
var descriptions = document.getElementsByClassName('myClass');
var reg = /^\d{2}F/;
for (var i=0; i<descriptions.length; i++) {
if (!descriptions[i].textContent.match(reg)) {
descriptions[i].closest('myClass2').style.display = 'none';
}
}
【问题讨论】:
标签: javascript regex string match