正则表达式:
[^/]+(?!.*/)
[^/]+
表示匹配任意长度的字符串,字符串中不包含有字符 / ,可以把以/分割开的字符串全匹配到.
.*/
表示任意以/ 结尾的字符串,可以把后在带有/的字符串匹配到,前面再加上?!,再用圆括号包住表示排除掉.(?!.*/)
整个表达式的意思就是匹配任意长度的不包含/ 的字符串,并把以/结尾的字符串排除掉
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时,提取的内容将根据正则表达式的匹配进行更新,并在页面上显示出来。在正则表达式中,我们使用了反斜杠来转义特殊字符,因为它们在正则表达式中有特殊含义。