The*_*Guy 6 javascript uri fragment-identifier
我想确保我获得的URL window.location尚未包含特定的片段标识符.如果是的话,我必须删除它.所以我必须搜索URL,找到以#开头的字符串,mp-并一直持续到结束URL或下一个URL #(以防万一URL包含多个片段标识符).
www.site.com/#mp-1 --> www.site.com/
www.site.com#mp-1 --> www.site.com
www.site.com/#mp-1#pic --> www.site.com/#pic
Run Code Online (Sandbox Code Playgroud)
(这显然不能正常工作)
var url = window.location;
if(url.toLowerCase().indexOf("#mp-") >= 0){
var imgString = url.substring(url.indexOf('#mp-') + 4,url.indexOf('#'));
console.log(imgString);
}
Run Code Online (Sandbox Code Playgroud)
知道怎么做吗?
像这样的东西?这使用正则表达式来过滤不需要的字符串.
var inputs = [
"www.site.com/#mp-1",
"www.site.com#mp-1",
"www.site.com/#mp-1#pic"
];
inputs = inputs.map(function(input) {
return input.replace(/#mp-1?/, '');
});
console.log(inputs);
Run Code Online (Sandbox Code Playgroud)
输出:
["www.site.com/", "www.site.com", "www.site.com/#pic"]
Run Code Online (Sandbox Code Playgroud)
jsfiddle:https://jsfiddle.net/tghuye75/
我使用的正则表达式/#mp-1?/删除任何字符串,如#mp-或#mp-1.对于未知长度的字符串,直到下一个主题标签,你可以用/#mp-[^#]*它去除#mp-,#mp-1和#mp-somelongstring.
使用正则表达式:
var url = window.location;
var imgString = url.replace(/(#mp-[^#\s]+)/, "");
Run Code Online (Sandbox Code Playgroud)
它从 URL 哈希中删除mp-char 之前的所有内容#。
| 归档时间: |
|
| 查看次数: |
106 次 |
| 最近记录: |