![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam jako że dupa ze mnie nie znawca wyrażeń regularnych proszę was o pomoc w napisaniu warunku który znajdzie mi coś takiego
Napisałem sobie taką funkcję
i teraz chce teraz żeby, wyrażenie znalazło w latających w pętli stringach ciąg podany jako param i dodany do tego znak równości a na końcu w może być coś. Z góry dziękuje za odpowiedz. -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
A jakie dane może zawierać zmienna param(liczby, tekst, znaki specjalne)? Najlepiej jak wyalertujesz to co dostajesz z: "^("+ param +"=)\w{1,}$" i nam przedstawisz co tam dostałeś. Jak zawierają się tam znaki specjalne to trzeba dodać przed nimi \. Samo wyrażenie(gdy zmienna parm nie zawiera znaków specjalnych) wygląda poprawnie. A w razie czego je spr. zamieniając parm na jakiś ciąg znaków. Przynajmniej będziesz wiedział czy samo wyrażenie daje Ci to co chcesz
![]() -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Zmienna param znaki alfanumeryczne np.
sort[faculty_id], albo sort[12], albo samo sort -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Czyli musisz zamienić te zmienne na np. sort\[faculty_id\], sort\[12\], natomiast samo "sort" powinno już Ci działać. Tak więc użyj przed:
var reg = new RegExp("^("+ param +"=)\w{1,}$"); // jakaś moja rzeźba Funkcji replace na zmiennej parm i pozamieniaj znaki specjalne dodając przed nimi \, nie zapomnij o fladze "g". Tu przydatna stronka: http://www.egrafik.pl/kurs-regex-wyrazenia-regularne/ <- masz tam podane znaki specjalne. Ten post edytował kamil4u 3.10.2010, 19:15:49 -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
i wywołanie mam
Ale to nie działa, tak jak powinno. generalnie powinno zamieniać adres ?abc=a&sort[faculty_id]=12 na ?abc=a&sort[faculty_id]=22 Ten post edytował skowron-line 3.10.2010, 20:14:10 -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Nienawidzę tych wyrażeń regularnych
![]() Znam Cię na tyle, że wiem, że sobie poradzisz ![]() Kod <script> var x = "?abc=a&sort[faculty_id]=12"; var param = "sort\\[faculty_id\\]"; var req = new RegExp("("+param+")=[a-zA-Z0-9_]+", "g"); x = x.replace(req, "$1="+22); alert(x); </script> Jak chcesz tak ja próbowałeś to powinno też chodzić z takim wyrażeniem ![]() ![]() Ten post edytował kamil4u 3.10.2010, 21:04:28 -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
@kamil4u
Jak to spiąłem z moim skryptem to pokazało że reg is undefined, Cytat Nienawidzę tych wyrażeń regularnych smile.gif true true ![]() -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Ach...
Kod <script>
function sort(param, value) { // var url = new URI(); // var query = url.get('query'); var query = "?abc=a&sort[faculty_id]=12"; var newQuery = [], match = 0; var reg = new RegExp("("+param+")=[a-zA-Z0-9_]+", "g"); //query.split('&').each(function(item){ var y = query.split('&'),item; for(item in y){ if(y[item].match(reg) != null) { //zamień w param \\ na \; y[item] = param +'='+ value; match = 1; } newQuery.push(y[item]); } if(match == 0) { newQuery.push(param +'='+ value); } alert( newQuery.join('&') ); } sort('sort\\[faculty_id\\]', 32); </script> -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
@kamil4u ostatecznie zrobiłem tak.
Oczywiście +1 dla ciebie bo na nikogo innego w JS nie można tu liczyć ![]() -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 16:17 |