相关文章推荐

正则表达式: [^/]+(?!.*/)

[^/]+ 表示匹配任意长度的字符串,字符串中不包含有字符 / ,可以把以/分割开的字符串全匹配到.
.*/ 表示任意以/ 结尾的字符串,可以把后在带有/的字符串匹配到,前面再加上?!,再用圆括号包住表示排除掉.(?!.*/)
整个表达式的意思就是匹配任意长度的不包含/ 的字符串,并把以/结尾的字符串排除掉

var urlStr = location.pathname.match('[^/]+(?!.*/)')[0];
var urlStr = location.pathname; 
var index = urlStr.lastIndexOf('\/');  
urlStr = urlStr.substring(index + 1, urlStr.length);

页面导航高亮选中当前栏目

index.html

<!DOCTYPE html>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Examples</title>
<meta name="description" content="">
<meta name="keywords" content="">
<style>
    .active a {
        color: red;
</style>
</head>
    <ul id="nav">
        <li><a href="index.html">首页</a></li>
        <li><a href="about.html">关于</a></li>
        <li><a href="news.html">新闻</a></li>
        <li><a href="product.html">产品</a></li>
        <li><a href="contact.html">联系</a></li>
    <script>
        * 页面导航高亮当前栏目
        function navHighlight() {
            var urlArr = location.pathname.match('[^/]+(?!.*/)');
            var url = urlArr && urlArr[0] || 'index.html'; 
            var navLis = document.getElementById('nav').children;
            for (var i=0,len=navLis.length; i<len; i++) {
                var link = navLis[i].children[0];
                var href = link.getAttribute('href');
                if (href.indexOf(url) > -1) {
                    navLis[i].setAttribute('class', 'active');
                    return false;
        window.onload = function() {
            navHighlight();
    </script>
</body>
</html>
获取浏览器的地址进行分割,真是再项目中经常用到,这个案例是获取浏览器地址后,获得第一个斜杠后的值,然后用真实域名 拼接截后的值。
这里用到的知识点主要有:正则表达式,字符串知识点。
废话不多说,效果图再下面,代码案例給各位呈上.
图片在这里
第一步,获取浏览器地址,通过正则获取到域名
 [removed]
  //获取url中的域名
  function getDomain(url) {
   var host = "null";
   if (typeof url === "undefined"
    || null ==
                                    直接上代码了。
String url = "http://localhost:8080/mdoss/casdImg/gzpanyuschool.jpg";
String str= url.substring(url.lastIndexOf("/")+1);
lastIndexOf(String str)
该方法用于返回字符串最后一次出现的索引位置。当调用字符串的lastIndexOf()方法时,
会从当前字符串的开始位置检索参数字符串str,并将最后一次出现str的索引位置返回。
如果没有检索到字符
                                    在开发项目的过程中,经常遇到需要解析论坛,博客等的URL的问题,比如:'abc/def/jkl' 或'abc/def/jkl/',获取最后一个‘/’之后的所有字符‘jkl’,由于特殊字符'/'的个数不固定,从前向后正向解析URL,有点困难,其实有更简单的方法,那就是逆向解析法。
逆向解析的思路非常简单,因为最后一个特殊字符'/'的位置不确定,变通一下,使用reverse函数,将最后一...
                                    var blueurl= 127.0.0.1/1.txt
var reg = /([/][^/]+)$/;
var blueurl = blueurl.replace(reg, "");
var reg2 = /([^/]+)$/;
 var bluefile = blueurl.match(reg2)[1];
第一个正则获取最后一个/之前全部内容,
第二个正则获取最后一个/之后全部内
                                    在这个示例中,我们首先在模板中使用元素来输入URL路径。然后,我们在Vue的data选项中维护了inputPath(用于存储输入的URL)和extractedContent(用于存储提的内容)两个数据属性。要在Vue中使用正则表达式来提路径中最后一个斜杠之后、问号之前的内容,你可以使用JavaScript的正则表达式功能。这样,当用户在输入框中输入URL时,提的内容将根据正则表达式的匹配进行更新,并在页面上显示出来。在正则表达式中,我们使用了反斜杠来转义特殊字符,因为它们在正则表达式中有特殊含义。
 
推荐文章