javascript与php地址url解析函数
一、javascript:
- 代码:
/* @desc:url解析函数 @author
[ ] @param url 要查询的url @return ret 解析后的对象 */ function parseurl(url){ var reg = /(?:([A-Za-z]+):)?(\/{0,3})?(?:(.*):(.*)@)?([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?/ var res = reg.exec(url) var scheme = (res[1])?res[1]:'http' var user = (res[3])?res[3]:'' var pass = (res[4])?res[4]:'' var host = (res[5])?res[5]:'' var port = (res[6])?res[6]:'' var path = (res[7])?res[7]:'' var query = (res[8])?res[8]:'' var fragment = (res[9])?res[9]:'' var ret = { scheme:scheme, user:user, pass:pass, host:host, port:port, path:path, query:query, fragment:fragment } return ret } - 测试:
var url = "https://user:pass@www.baidu.com:80/a/b/?name=lee&sex=male#id"; var ret = parseurl(url) console.log(ret)
- 输出:
{ scheme: 'https', user: 'user', pass: 'pass', host: 'www.baidu.com', port: '80', path: 'a/b/', query: 'name=lee&sex=male', fragment: 'id' }
二、php:
- 代码(自带):
parse_url()
- 测试:
- 输出:
array(8) { ["scheme"]=> string(4) "http" ["host"]=> string(13) "www.baidu.com" ["port"]=> int(80) ["user"]=> string(4) "user" ["pass"]=> string(4) "pass" ["path"]=> string(4) "/a/b" ["query"]=> string(17) "name=lee&sex=male" ["fragment"]=> string(2) "id" }
当前标题:javascript与php地址url解析函数
标题URL:http://cdiso.cn/article/iehopj.html