javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > js获取url页面id

js获取url页面id,也就是最后的数字文件名

作者:mdxy

这篇文章主要介绍了js获取url页面id,也就是最后的数字文件名,有时候我们需要判断当前页面的id,又不用重新生成页面直接用js获取最后的数字.htm即可

第一种方法:正则匹配

<script>
var strUrl = "//www.jb51.net/article/825.htm";
url = strUrl.match(/\/(\d*)\.(html|htm|shtm|shtml)/);
document.write(url[1]);
</script>

补充

var re = new RegExp(".*/(\\d+)\\.html","ig");
 var _aid = "-1";
 if(re.exec("https://www.jb51.net/article/pc/1111.html") != null){
   _aid = RegExp.$1
  }

实际应用代码

<script>
var strUrl = location.href;
url = strUrl.match(/\/(\d*)\.(html|htm|shtm|shtml)/);
document.write(url[1]);
</script>

第二种方法:直接将页面分割成数组数组split

<script>
var strUrl = location.href;
var arrUrl=strUrl.split("/");
var strPage=arrUrl[arrUrl.length-1];
alert(strPage.replace(".html","").replace(".htm",""));
</script>

第三种方法:用substring

<script>
var strUrl = window.location.href;
str=strUrl.substring(strUrl.lastIndexOf("/") + 1)
alert(str.replace(".html","").replace(".htm",""));
</script>

substring定义和用法

substring() 方法用于提取字符串中介于两个指定下标之间的字符。

语法

stringObject.substring(start,stop)

参数描述
start必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop

可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。

如果省略该参数,那么返回的子串会一直到字符串的结尾。

返回值

一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。

说明

substring() 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。

如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。

第四种:针对页面中有?等不正常参数的

例如//www.jb51.net/article/333.htm?path=/asdf/ddd

<script>
var strUrl = "http://www.jb1.net/article/222.htm";
//获取当前页面名称
//var strUrl=window.location.href;
var arrUrl=strUrl.split("/");
var strPage=arrUrl[arrUrl.length-1];
if(strPage.indexOf("?")>-1){
  var pageName=strPage.split("?");
  strPage=pageName[0];
}
alert(strPage.replace("html","").replace(".htm",""));
</script>

到此这篇关于js获取url页面id,也就是最后的数字文件名的文章就介绍到这了,更多相关js获取url页面id内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文