Heim > Fragen und Antworten > Hauptteil
Derzeit kenne ich js, um die URL mit Parametern zu erhalten:
window.location.search
Aber nehmen wir an, es gibt einen Link zu www.xxxxxx.com?aaa=bbb&ccc=ddd#ok
Was erhalten wird, ist?aaa=bbb&ccc=ddd#ok
Ich möchte den Hashwert nach dem # nicht entfernen. Oder muss ich einen regulären Ausdruck verwenden, um ihn zu entfernen?
ringa_lee2017-05-19 10:33:45
location 对象有一个 hash
属性,存储着 URL 中以 # 开头的字符串,所以不一定要用正则替换,直接匹配替换也可以:
var nohash = window.location.href.replace(window.location.hash, '');
参考:http://www.w3school.com.cn/js...
给我你的怀抱2017-05-19 10:33:45
可以确定地址字符串中只出现一个#
符号么?如果可以的话,获取到整个地址字符串,然后用string.IndexOf("#")就能拿到当前字符的位置。然后可以随意获取了
比如:
String str = www.xxxxx.com?aaa=bbb&ccc=ddd#ok
然后
String url = str.substring(0,str.IndexOf("#"));
-----------------------------------分割线--------------------------------
仅有的幸福2017-05-19 10:33:45
var str = " www.xxxxxx.com?aaa=bbb&ccc=ddd#ok" ;
var url = str.split('#')[0];
为情所困2017-05-19 10:33:45
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
var url = window.location.herf;
var url = 'https://www.baidu.com/s?wd=1&rsv_spt=1#notNeed';
function getQuery(url){
var temparr = [],
json = {};
var queryStr = url.split('?')[1];
var queryStrNoAnchor = queryStr.substr(0,queryStr.indexOf('#'));
tempArr = queryStrNoAnchor.split('&');
var i = 0,
len = tempArr.length;
for(; i<len; i++){
json[tempArr[i].split('=')[0]] = tempArr[i].split('=')[1];
}
return json;
}
var result = getQuery(url);
console.log(result);
</script>
</body>
</html>