2010. 4. 26. 11:51, DEV/html/css/js/img
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
[출처] http://suyeong.net/
웹페이지 개발하다보면 숫자만 입력받는 경우나 문자만 입력받아야 하는 경우가 종종 있는데
Native Javascript로 구현할 수도 있겠지만
JQuery를 사용한다면 Plugin을 이용하면 JQuery의 Selector를 사용할 수 있어서 좋습니다.
숫자나 영문자만 입력받거나, 추가로 일부 특수문자도 입력허용하도록 하는
jQuery AlphaNumeric 라는 Plugin을 찾았는데 문제가 좀 있네요.
개발자 하신 분이 이역만리에 떨어져 있는 사람들까지는 미처 신경쓰지 못해
숫자만 입력받도록 하든 영문자만 입력받도록 하든 한글은 써집니다.
그리고 어떤 이유에서 인지는 모르겠으나... Underscore('_') 도 항상 허용됩니다.
그래서 조금 수정을 했습니다.
먼저 한글문제를 해결하기 위해서 강조된 2군데 라인을 찾아서 (원본 기준으로 60, 76 라인입니다.)
01.
$.fn.numeric =
function
(p) {
02.
var
az =
"abcdefghijklmnopqrstuvwxyz"
;
03.
az += az.toUpperCase();
04.
p = $.extend({
05.
nchars: az
06.
}, p);
07.
return
this
.each (
function
()
08.
{
09.
10.
$(
this
).alphanumeric(p);
11.
}
12.
);
13.
};
14.
15.
$.fn.alpha =
function
(p) {
16.
var
nm =
"1234567890"
;
17.
p = $.extend({
18.
nchars: nm
19.
}, p);
20.
return
this
.each (
function
()
21.
{
22.
23.
$(
this
).alphanumeric(p);
24.
}
25.
);
26.
};
이렇게 수정합니다.
1.
return
this
.each (
function
()
2.
{
3.
$(
this
).css(
'ime-mode'
,
'disabled'
);
4.
$(
this
).alphanumeric(p);
5.
}
다음, Underscore는 원본기준 6번 라인에 특수문자가 죽 나열되어 있는 곳에 아래같이 underscore 를 하나 끼워 넣습니다.
1.
p = $.extend({
2.
ichars:
"!@#$%^&*()+=[]\\\';,/{}|\":<>?~`.-_ "
,
3.
nchars:
""
,
4.
allow:
""
5.
}, p);
아래는 간단한 사용법입니다.
- 숫자만 입력 허용
1.
$(
'#test'
).numeric();
- 영문자만 입력 허용
1.
$(
'#test'
).alpha();
- 영문 + 숫자 입력 허용
1.
$(
'#test'
).alphanumeric();
- 숫자 + comma + dot 입력 허용 (위에서 막아버린 underscore 도 필요한 경우 아래와 같이 allow에 추가 하면 됩니다.)
1.
$(
'#test'
).numeric({allow:
".,"
});
'DEV > html/css/js/img' 카테고리의 다른 글
프린트(print)에 관련된 내용 정리 (0) | 2010.04.29 |
---|---|
Jquery 플러그인 제공 사이트 정리 (0) | 2010.04.23 |
[jquery plugin] jquery-form-validate (0) | 2010.04.09 |
Comments, Trackbacks