MT写的对URL操作的两个方法

时间:2023-11-30 19:01:56
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>MT</title>
</head>
<body>
<script src="/6rooms/html/js/mootools.js"></script>
<script>
window.addEvent('domready',function(){
var PRINCE = {
enname : 'Prince Yu',
cnname : '俞坚奇',
age : 26,
city : 'beijing',
email : '114623423@qq.com',
tel : 18758021576,
url : 'http://snowinmay.net',
QQ : 41953121,
job : 'F2E',
marital : undefined
};
//在domready中调用方法
var link = myURL.createURL(PRINCE.url,PRINCE);
var para = myURL.getURLParam(link);
console.log(PRINCE);
console.log(link);
console.log(para);
}); //在domready外创建函数
var myURL = {
/*
MT写的对URL操作的两个方法
1.从链接中获取参数
2.把参数拼到链接中
*/
link : "",//生成带参数的链接 /*
需要完善的功能
1.中文字符解析
2.去掉多余的空格
*/
createURL : function (url,param/*链接和参数*/){
Object.each(param,function(item,key){
var link = '&' + key + "=" + item;
myURL.link += link;
})
myURL.link = url + "?" + myURL.link.substr(1);
return myURL.link.replace(' ','');
}, getURLParam : function (url/*待解析的带参数链接 window.location*/){
var str = url.substr(url.indexOf('?')+1);
// 需要去理解的地方1
var ret = str.match(/\w+?\=.*?(?=($|\&))/g);
if(!ret){return;}
var param={},i=-1,len=ret.length,ar;
// 需要去理解的地方2
for(;str=ret[++i];){ar=str.split('=');param[ar[0]]=ar[1];}
return param;
}
} </script>
</body>
</html>

  

相关文章