获取浏览器的地址进行分割,真是再项目中经常用到,这个案例是获取浏览器地址后,获得第一个斜杠后的值,然后用真实域名 拼接截取后的值。
这里用到的知识点主要有:正则表达式,字符串截取知识点。
废话不多说,效果图再下面,代码案例給各位呈上.
图片在这里
第一步,获取浏览器地址,通过正则获取到域名
<script type="text/javascript"> //获取url中的域名 function getDomain(url) { var host = "null"; if (typeof url === "undefined" || null == url) url = window.location.href; var regex = /.*\:\/\/([^\/]*).*/; var match = url.match(regex); if (typeof match !== "undefined" && null != match) host = match[1]; return host; }
第二步,这里的域名可能是一串ip地址,进行判断处理
//判断是否包含数字 function hasDigit(value) { const p = /\d/; const m = p.test(value); return m; } //
首先根据 来进行分割,indexOf 获取第一个斜杠的索引,substring 截取,传一个参数是从当前索引位置截取到最后
//获取第一个反斜杠后的内容 function getLasturl(value){ if(value!==null || value !==''){//使用split 进行分割,一定要进行字符串判空 const str = value.split("http://"); const index = str[1].indexOf("https://www.jb51.net/")+1; return str[1].substring(index); } retrun null; }
// 微信分享ip域名替换成 真实域名 function changeUrl() { let value ="http://192.168.124.102/upload/2019/5/28/e3e8c999ae6d45c2aa6eac135b1a3b2b.jpg" const domain = getDomain(value); if(hasDigit(value)){ console.log(getLasturl(value)); } } changeUrl(); </script>