body 内有许多个 class,如:
<body class="default-template postid-123">
需要定位到前面是 "postid-" 的,并获取 123 这个字符串(长度不一定是 3 位)。
请问怎么做呢?将为第一个可用的答案发送感谢铜币。
1
soratadori 2017-08-12 13:30:47 +08:00
正则表达式
另外,铜币有啥用? |
2
cojing 2017-08-12 13:31:50 +08:00
\d+
正则匹配数字就好 |
3
ferrum 2017-08-12 13:32:48 +08:00 1
```
var classnames = 'default-template postid-123' var regId = /postid-([\d]+)/ var result = classnames.match(regId) console.log(result[1]) ``` 老老实实问问题就行,别铜币来铜币去的。 |
4
geelaw 2017-08-12 13:39:21 +08:00 1
var result = / postid-([-_0-9a-zA-Z]+) /.exec(' ' + document.body.className + ' ');
result = result && result[1]; // 以上代码可以覆盖绝大多数情况了 |
8
islujw OP @ferrum class 名称不是固定的,有不定数量的 class,且一定包括 postid- 开头的。需要配合使用 document.body.className
|
9
flowfire 2017-08-28 11:49:55 +08:00
/(?: |^)postid-(\d+)(?: |$)/
|