包含标签 js 的文章
js前端URL特殊字符的转码及PHP解码
问题:url传有特殊字符出现丢失,因为特殊字符会被特殊处理
我们先用getUrlParam()函数获取参数,
// 获取链接参数
function getUrlParam(name) {
//构造一个含有目标参数的正则表达式对象
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
//匹配目标参数
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]);
return null; //返回参数值
}
再用encodeURIComponent()函数转码,例如:
//url里边包含@等特殊字符
var url = "https://6.hbibwl.com.cn/wxkf/main.html?pin=U.P0Ky40vy63TnhM65rk@_B9&id=8";
var pin = encodeURIComponent(getUrlParam('pin'));
//打印转码的pin值
console.log(pin);
结果:
U.P0Ky40vy63TnhM65rk%40_B9
PHP解码:
$_POST['pin'] = urldecode($_POST['pin']);
echo $_POST['pin'];
结果:
U.P0Ky40vy63TnhM65rk@_B9
js复制A标签的链接地址
function copy(copyId){
console.log(copyId);
var url = document.getElementById(copyId).href;
var cInput = document.createElement('input');
cInput.value = url;
document.body.appendChild(cInput);
cInput.select(); // 选取文本框内容
document.execCommand("Copy"); // 执行浏览器复制命令
alert("复制成功!");
document.body.removeChild(cInput);
}