Апускаючы адмысловыя знакі з радка з дапамогай Jquery

Я павінен рэалізаваць некаторы тып пікселя для аналітычных і патрабуе праходжання ідэнтыфікатар сеансу ў радку URL. Мой 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 выдаліць - і мець на ўвазе ідэнтыфікатар сесіі будзе змяняцца кожны раз, калі ёсць новая сесія. Мне патрэбен код, які з'яўляецца агульным, так што працуе незалежна ад таго, што ідэнтыфікатар сеанса, яго неабходна выдаліць адмысловыя знакі з яго.

0

5 адказы

Паспрабуйце выкарыстоўваць .Привернуть :

var token = "BFhGlzT6FBkDr2Zndp0!-1309";
token.replace(/[^A-Za-z0-9]/g, "");

гэта выдаліць любы знак, які не з'яўляецца літара альбо лічбу. Больш лаканічна:

token.replace(/\W/g, "");

(Гэта не заменіць падкрэслення)

2
дададзена
Так, гэта быў проста прыклад кода. Але рэгулярны выраз будзе працаваць для ідэнтыфікатара сесіі
дададзена аўтар Alex Peattie, крыніца
Замест таго каб замяніць відавочныя сімвалы, як іншыя прапанавалі, ён стварае мноства ўсіх знакаў, якія вы хочаце, і прымае затым зваротныя з гэтага мноства ... таму ён замяняе ўсе знакі года не хочуць ... гэта будзе працаваць для ўсіх радкоў
дададзена аўтар jyore, крыніца
Дзякуй за адказ, але майце на ўвазе, што знакі ID сесіі не будзе ж кожны раз, калі ён працуе, залежыць ад сесіі яна будзе мяняцца. Мне трэба толькі, каб выдаліць спецыяльны сімвал, незалежна ад таго, што ID сесіі іншыя літары
дададзена аўтар Junoonis, крыніца

! Black-лістынг і - ( скрыпку ):

var url = "BFhGlzT6FBkDr2Zndp0!-1309";
document.write(url.replace(/[!\-]/g,""));

Белы спіс літарна-лічбавы ( скрыпка ):

var url = "BFhGlzT6FBkDr2Zndp0!-1309";
document.write(url.replace(/[^a-z0-9]/ig,""));
1
дададзена
Як і ў бок, то - ня трэба экраніровать, калі гэта апошні знак у класе.
дададзена аўтар Brad Christie, крыніца

Вызначым рэгулярнае мноства выраз сімвала, які змяшчае ўсе дапушчальныя сімвалы. Напрыклад, у вас можа выглядаць /[A-Za-z0-9]/. Цяпер перавярніце яго з камплементарнай набор сімвалаў [^ A-Za-Z0-9] і выдаліць усе гэтыя сімвалы з string.replace метад ,

mystring = mystring.replace(/[^a-zA-Z0-9]/g, "");
0
дададзена

You dont need jQuery for this. You can use JavaScript regex. See this jsfiddle

var code = "BFhGlzT6FBkDr2Zndp0!-1309";

code = code.replace(/[!-]/g,"");

alert(code);
0
дададзена
var str = "BFhGlzT6FBkDr2Zndp0!-1309".replace("!-","");

fiddle: http://jsfiddle.net/neilheinrich/eYCjX/

0
дададзена
@ Mblase75: Я павінен сказаць, мне падабаецца падыход nheinrish ст. 1) Гэта прамое і кропку; . 2) людзі занадта хутка, каб заключыць рэгулярны выраз (асабліва улічваючы сцісласць і расплывістасць першапачатковага пытання); 3) Гэта цалкам прымальны адказ.
дададзена аўтар Brad Christie, крыніца
Існуе недастаткова інфармацыі, прадстаўленая ведаць, ці з'яўляецца рысачкі/челка ці іншыя не-Чыслава могуць быць законнымі ў радку. На падставе інфармацыі, прадстаўленай гэта вельмі прамой спосаб выдалення двух знакаў, згаданых. Калі ёсць жаданне, каб выдаліць усе не-лікавыя ці ўсё асобнікі «!» або «-», ды там можа быць лепшыя рашэнні.
дададзена аўтар nheinrich, крыніца
Проста спрабую дапамагчы @ mblase75. Калі OP згадаў жаданне выдаліць усе варыянты гэтых двух персанажаў, якіх я б падыходзіў па-іншаму.
дададзена аўтар nheinrich, крыніца
Калі вы хочаце, каб прапусціць усе асобнікі абодвух! і - вы можаце выкарыстаць: str.replace (/ -/г "" [!]). Fiddle: jsfiddle.net/neilheinrich/zQ5Ya
дададзена аўтар nheinrich, крыніца
Гэта можа быць занадта спэцыялізаваўся ... ён толькі заменіць першы сустракаецца матч ... і ён павінен быць у такім парадку ... іншыя рэгулярныя выразы рашэння будзе лепш
дададзена аўтар jyore, крыніца
Я абнавіў гэтае пытанне, калі ласка, глядзіце вышэй.
дададзена аўтар Junoonis, крыніца
Я хачу, каб усе спецыяльныя сімвалы апушчаны, гэта рашэнне працуе, але гэта толькі ліквідуе першы экзэмпляр (-!) І пакінуць у мінулым! у радку.
дададзена аўтар Junoonis, крыніца