检查是否为有效的网址,弱检测,只支持http和https。/** * 检查是否为有效的网址 * @ function isUrl * @ param {String} url 判断给定URL是否为一个
- 检查是否为有效的网址,弱检测,只支持http和https。
/** * 检查是否为有效的网址 * @ function isUrl * @ param {String} url 判断给定URL是否为一个有效的http(s)链接 * @ return {Boolean}*/$.isUrl = function (url) { url = url.trim(); return url && /^https?:////[^/s]*$/.test(url);};
- 依据指定参数生成新的URL
/** * 依据指定参数生成新的URL * @ function createUrl * @ param {Object} params 用来构建查询字符串的参数键值对 * @ param {String} [baseUrl] 相对地址,默认为window.location.pathname * @ return {String} 新的URL*/$.createUrl = function (params, baseUrl) { var url = baseUrl || win.location.pathname, ps = []; for (var p in params) ps.push(p + '=' + encodeURIComponent(params[p])); return url + (ps.length > 0 ? '?' + ps.join('&') : '');};
- 获取单个查询参数
/** * 获取单个查询参数 * @ function getQueryString * @ param {String} name 待查找的参数名称 * @ return {String} 所查询的参数值(已解码);如果不存在,返回空串*/$.getQueryString = function (name) { if (!name) return ''; var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = win.location.search.slice(1).match(reg); return r && r[2] !== null && r[2] !== undefined ? decodeURIComponent(r[2]) : '';};
- 获取所有的查询参数
/** * 获取所有的查询参数 * @ function getQueryParams * @ param {String} [str] 形如"apple=red&banana=yellow"的字符串。默认是window.location.search。 * @ return {Object} 参数名-参数值(已解码)*/$.getQueryParams = function (str) { var arr; if (str) { if (str.indexOf('#') >= 0) str = str.slice(0, str.indexOf('#')); arr = str.split('&'); } else if (win.location.search.length > 1) { arr = win.location.search.slice(1).split('&'); } else { return {}; } var r = {}, i, j; for (i=0;i<arr.length;i++) { j = arr[i].lastIndexOf('='); if (j < 0) { r[decodeURIComponent(arr[i])] = ''; } else if (j > 0) { r[decodeURIComponent(arr[i].slice(0, j))] = decodeURIComponent(arr[i].slice(j+1)); } } return r;};