1.js获取地址参数
Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问。
属性 | 描述 |
---|---|
hash | 设置或返回从井号 (#) 开始的 URL(锚)。 |
host | 设置或返回主机名和当前 URL 的端口号。 |
hostname | 设置或返回当前 URL 的主机名。 |
href | 设置或返回完整的 URL。 |
pathname | 设置或返回当前 URL 的路径部分。 |
port | 设置或返回当前 URL 的端口号。 |
protocol | 设置或返回当前 URL 的协议。 |
search | 设置或返回从问号 (?) 开始的 URL(查询部分)。 |
注意:search和hash的区别,、
如果URL中“?”之前有一个“#”比如:“http://localhost:8888/index.html#/xxx?type=35&id=5”,
那么使用window.location.search得到的就是空(“”)。
因为“?type=35&id=5”是属于“#/version?type=35&id=5”这个串字符的,
也就是说查询字符串search只能在取到“?”后面和“#”之前这个区间的内容,如果“#”之前没有“?”,search取值为空。
需要正则验证
正则验证大全地址(https://www.cnblogs.com/hai-ping/articles/2997538.html)
function getUrlSearch(name) {
if(!name){
return null
}
// 查询参数:先通过search取值,如果取不到就通过hash来取
var after = window.location.search;
//var after="http://localhost:8888/index.html#/ooxx?type=35&id=5"
after =after.substring(after.lastIndexOf('/') + 1)|| window.location.hash.split('?')[1];
if (!after){
return null;
}
//看这个参数有没有在地址中有没有
if (after.indexOf(name) === -1) {
return null;
}
var reg = new RegExp("(^||&)"+ name + "=([^&]*)(&|$)","i");
// 当地址栏参数存在中文时,需要解码,不然会乱码
var r = decodeURI(after).match(reg);
if(!r){
return null;
}
return r[2];
}
console.log(getUrlSearch("type"))//35
2.js获取字符串中的中文
if (aiMena !== null && aiMena !== "") {
let reg = /[\u4e00-\u9fa5]/g;
return aiMena.match(reg).join("");
} else {
return aiMena;
}
网友评论