Javascript 如何解码电子邮件地址的查询参数
我在登录页上有一个联系人表单,当用户填写表单时,信息通过URL传递到第二个登录页。在第二个登录页上,我有一个javascript,它从URL中提取名字、姓氏和电子邮件,并将它们插入到相应的字段中。但是,电子邮件将添加到第二个登录页的电子邮件字段中,并使用%40而不是“@”符号(bob%40bob.com)。因此,当用户尝试提交表单时,它不会进行验证 我知道我需要解码URI,但我不确定如何在现有javascript中实现它。下面是我在第二个登录页上使用的javascript,用于解析URL并将变量插入表单Javascript 如何解码电子邮件地址的查询参数,javascript,forms,email-validation,Javascript,Forms,Email Validation,我在登录页上有一个联系人表单,当用户填写表单时,信息通过URL传递到第二个登录页。在第二个登录页上,我有一个javascript,它从URL中提取名字、姓氏和电子邮件,并将它们插入到相应的字段中。但是,电子邮件将添加到第二个登录页的电子邮件字段中,并使用%40而不是“@”符号(bob%40bob.com)。因此,当用户尝试提交表单时,它不会进行验证 我知道我需要解码URI,但我不确定如何在现有javascript中实现它。下面是我在第二个登录页上使用的javascript,用于解析URL并将变量
<script type="text/javascript">
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
decodeURIComponent(vars);
return(false);
}
var firstName = getQueryVariable("firstname");
var lastName = getQueryVariable("lastname");
var userEmail = getQueryVariable("email");
window.onload = function() {
document.getElementById('field[63]').value=firstName;
document.getElementById('field[64]').value=lastName;
document.getElementById('field[62]').value=userEmail;
}
</script>
函数getQueryVariable(变量){
var query=window.location.search.substring(1);
var vars=query.split(&);
对于(var i=0;i,您试图在返回匹配后解码,因此
if(pair[0] == variable){return pair[1];}
使用
if(pair[0] == variable){return decodeURIComponent(pair[1]);}