前言
获取浏览器的地址进行分割,真是再项目中经常用到,
这个案例是获取浏览器地址后,获得第一个斜杠后的值,
然后用真实域名 拼接截取后的值。
这里用到的知识点主要有:正则表达式,字符串截取知识点。
废话不多说,效果图再下面,代码案例給各位呈上.
图片在这里
image.png第一步,获取浏览器地址,通过正则获取到域名
<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 获取第一个斜杠的索引,加2是因为有两个
斜杠,它的下标是从0开始的
substring 截取,传一个参数是从当前索引位置截取到最后
//获取第一个反斜杠后的内容
function getLasturl(value){
const str = value.split("http://");
const index = str[1].indexOf("/")+1;
return str[1].substring(index);
}
// 微信分享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>
网友评论