使用Jquery省略字符串中的特殊字符

时间:2011-10-27 19:30:26

标签: javascript jquery

我必须为分析实现某种类型的像素,并且它需要在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是什么,它都有效,它需要从中删除特殊字符。

5 个答案:

答案 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("!-","");

小提琴:http://jsfiddle.net/neilheinrich/eYCjX/

答案 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, "");