我必须为分析实现某种类型的像素,并且它需要在url字符串中传递会话ID。我的sessionID包含特殊字符。它看起来像这样 BFhGlzT6FBkDr2Zndp0!-1309 我需要从这个字符串中删除( - !)字符,如何使用jquery实现这一点?我需要确保jquery在渲染之前删除这些字符,否则它不会报告访问分析。
伙计们,感谢您的帮助,但也许我需要进一步解释一下,我的像素代码看起来像这样“
img src =“https://sometime.com/png?org_id=k8vif92&session_ id = T6PtTyRSqhGPYBhp84frwth67n6fL7wcLBFhGlzT6FBkDr2Zndp0!-130901808!1319637471144& m = 2& m = 2“alt =”“>
在此像素触发之前,我需要替换sessionId字符串中的字符以删除! - 并记住会话ID将在每次有新会话时更改。我需要一个通用的代码,因此无论会话ID是什么,它都有效,它需要从中删除特殊字符。
答案 0 :(得分:2)
尝试使用.replace
:
var token = "BFhGlzT6FBkDr2Zndp0!-1309";
token.replace(/[^A-Za-z0-9]/g, "");
这将删除任何不是字母或数字的字符。更简洁:
token.replace(/\W/g, "");
(这不会取代下划线)
答案 1 :(得分:1)
黑名单!
和-
(fiddle):
var url = "BFhGlzT6FBkDr2Zndp0!-1309";
document.write(url.replace(/[!\-]/g,""));
白名单字母数字(fiddle):
var url = "BFhGlzT6FBkDr2Zndp0!-1309";
document.write(url.replace(/[^a-z0-9]/ig,""));
答案 2 :(得分:0)
var str = "BFhGlzT6FBkDr2Zndp0!-1309".replace("!-","");
答案 3 :(得分:0)
你不需要jquery。你可以使用javascript正则表达式。见jsfiddle
var code = "BFhGlzT6FBkDr2Zndp0!-1309";
code = code.replace(/[!-]/g,"");
alert(code);
答案 4 :(得分:0)
定义包含所有允许字符的正则表达式字符集。例如,您的可能看起来像/[a-zA-Z0-9]/
。现在使用互补字符集 [^a-zA-Z0-9]
将其反转,并使用String.replace
方法删除所有这些字符。
mystring = mystring.replace(/[^a-zA-Z0-9]/g, "");