테스트 사이트 - 개발 중인 베타 버전입니다

자바스크립트 정규식 질문 드립니다

현재 사용하고 있는 소스입니다
var b = http://www.xxxx.com/xxxx/xxxx.html?main_no=5&ds_gr=2;
if(b.match("main_no=4") || b.match("main_no=5")...... {
table1
}

if(b.match("main_no=41") || b.match("main_no=51")...... {
table2
}
...

이런식으로 main_no 값을 비교해서 table을 출력하고 있습니다.
문제는 이런식으로 하니까 main_no=4 나 main_no=41 등 main_no에 4가 포함되어 있으면 같은 결과값이 나옵니다.
즉 main_no 가 40~49 까지를 main_no=4 와 같은 출력값이 나오게 됩니다.

정확하게 main_no=4 인것만 비교 하려면 정규식을 쓰면 될텐데
한수 부탁드리겠습니다.

저 b 변수에 들어 있는 main_no값이 한자리든 두세자리든지 상관없이
main_no 값만 가져와서 정확하게 비교를 해서 조건이 맞는 해당 table 을 띄우려면 어떻게 해야 할까요?

고수님들의 한수 부탁드리겠습다.
시간이 급박해서 그러니 이해해 주시기 바랍니다.

꼭 답변 부탁드리겠습니다.
복받으세요.<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 16:57:14 JavaScript에서 이동 됨]</div>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 3개

[급조]

<script>
var b = "http://www.xxxx.com/xxxx/xxxx.html?main_no=50&ds_gr=2";
if(b.match("main_no=4[^0-9]+") || b.match("main_no=5[^0-9]+")) {
alert('1');
}
</script>

되기는 됩니다. ^^
<script>
var b = "http://www.xxxx.com/xxxx/xxxx.html?main_no=5&ds_gr=2";
var m = b.match("main_no=([0-9]+)");
alert(m[1]);
</script>

m[1] 값으로 비교를 하시면 됩니다.
친절한 답변 감사드립니다. 좋은 하루 되세요.

게시글 목록

번호 제목
2372
25946
14575
2367
29773
2358
2354
2350
29770
29766
24173
2345
25942
25939
29764
14571
14567
14561
24172
29763
14556
14550
14549
2332
14544
14535
14534
14529
2318
2313
2311
14526
14522
29761
25938
29759
2297
2281
25936
14521
14514
24167
25935
2266
14513
14512
2257
2230
14511
25926
14503
2224
25922
25920
2211
14500
2209
14499
24158
2204
14491
2197
14490
14489
2189
24155
14487
14486
25916
2185
29757
24154
25913
29755
14484
2181
2164
25907
2163
2153
2149
2145
2130
2116
2107
2103
29753
14483
2099
2039
29750
2021
2015
2006
14482
1989
1972
1969
14481
1963