我从 .getAttribute() 中得到以下字符串:
ctl00$m$g_ff7ec6ac_ec2e_4402_aaaa_7fcce245ff1b$ctl03$_UserName
让我们称之为“字符串”。现在我需要将 $ 替换为 _ 。我试过了:
String.replace(/\$/g, "\_");
...不起作用。
第二次尝试:
String.replace(/$$/g, "\_");
...不起作用。
第三次尝试:
String.replace(/\$$/g, "\_");
...不起作用。
所以...有人可以帮忙吗?感谢所有的努力!
编辑:需要让它适用于 IE8/9
此时的代码:
mailName = document.body.innerHTML.match(/ctl00\$.+EmailAddress/);
alert(mailName); // String is "ctl00$m$g_ff7ec6ac_ec2e_4402_aaaa_7fcce245ff1b$ctl03$_UserName"
mailName2 = mailName.replace(/\$/g, "_");
编辑2:
...我得到了我自己的答案。
mailName = document.body.innerHTML.match(/ctl00\$.+EmailAddress/);
返回一个字符串,但 .replace() 或 .split() 无法使用它。要开始工作,您需要这样做
mailID = '"' + document.body.innerHTML.match(/ctl00\$.+EmailAddress/) + '"';
之后一切都很好。不知道为什么,但在 IE8/9 中这个解决方案效果很好。