웹마스터 팁
제목 부분에 특수키 입력 못하게 막는 방법
2012.09.21 04:55
글쓰기시 제목 등에 특수키 못 쓰게 하려면...
1) 해당 스킨의 .js 파일에 해당 스크립트 추가
/* 특수문자 방지 기능 - sejin7940 */
var NN = (navigator.appName == "Netscape") ? 1: 0;
/*
키코드 33~47까지 순대대로 ! " # $ % & ' ( ) * + , - . /
키코드 58~64까지 순대대로 : ; < = > ? @
키코드 91~96까지 순대대로 [ \ ] ^ _
키코드 123~125까지 순대대로 { | }
*/
function CheckChar() {
// alert(event.keyCode);
if ( !NN ) {
if ( (event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && event.keyCode < 97) || (event.keyCode > 122 && event.keyCode < 126) ) {
//해당 이벤트가 일어난 키에 대한 코드 값을 확인 값을 반환 하지 않습니다.
event.returnValue = false;
}
} else {
if ( (event.which > 32 && event.which < 48) || (event.which > 57 && event.which < 65) || (event.which > 90 && event.which < 97) || (event.which > 122 && event.which < 126))
return false;
}
}
2) write_form.html 에서
제목부분 쪽에 onkeypress="CheckChar()" 를 추가하면 된다.
예를들어 xe_v3_default 의 경우라면
<input cond="$oDocument->getTitleText()" type="text" name="title" class="iText" title="{$lang->title}" value="{htmlspecialchars($oDocument->getTitleText())}" />
<input cond="!$oDocument->getTitleText()" type="text" name="title" class="iText" title="{$lang->title}" />
부분을 아래처럼 바꾸면 된다.
<input cond="$oDocument->getTitleText()" type="text" name="title" class="iText" title="{$lang->title}" value="{htmlspecialchars($oDocument->getTitleText())}" onKeypress="CheckChar()"/>
<input cond="!$oDocument->getTitleText()" type="text" name="title" class="iText" title="{$lang->title}" onKeypress="CheckChar()"/>
댓글 22
-
KTK
2012.09.21 10:39
-
게시판 스킨을 말한건데. 레이아웃 스킨의 Js 파일에넣어도작동운 될거에요. 구리고다른값둘도막고푸면 해당 key값만 알아내셔서 저 if 문사이에넣으면될겁니다
-
KTK
2012.09.21 10:49
감사합니다~! 하지만.. 키값으로하면 초성을 등록하면 한글이 안써지겠네요.. ㅠㅠ
-
초성을 막으시려면 정규식을 사용해서 /[ㄱ-ㅎ]+/로 걸러내시면 되어요~
-
KTK
2012.09.21 16:14
제가 무뇌안이다 보니 잘 이해가 가질 않습니다 ㅠㅠ 좀 도움을 주시겠습니까..
-
KTK
2012.09.26 14:59
감사한 CMD님.. 이거 도움좀 주시면 정말 감사하겠습니다.. 저는 댓글에.. 초성을 막고 싶어 죽을 지경입니다 ㅠㅠ
-
방금 테스트해 봤는데 한글의 경우 키코드를 아예 주지 않네요.
도움을 드리지 못해 정말 죄송해요...
-
KTK
2012.09.26 16:59
역시 CMD님은 답변을 해주실줄 알았습니다!!! 감사합니다!!
-
이용 중이신 스킨을 알려주시면 jQuery로 시도해 볼께요~
-
KTK
2012.09.26 17:07
저는 스케치북과 게시판 dx를 사용하고 있습니다 정말정말 감사합니다!!!
그리고 사랑합니다!!
-
자바스크립트로는 도저히 안되서 애드온으로 만들었어요~ doc_title.zip
123456789101112131415161718<?php
if
(!defined(
"__ZBXE__"
))
exit
();
if
(
$this
->module ==
'admin'
)
return
;
if
(
$called_position
!=
'before_module_proc'
&&
$called_position
!=
'after_module_proc'
)
return
;
switch
(Context::get(
'act'
)) {
case
'procBoardInsertDocument'
:
$title
= Context::get(
'title'
);
if
(!preg_match(
'/[ㄱ-ㅎ]/'
,
$title
))
return
;
$this
->stop(
'제목에 한글 초성이 포함되어 있사오니 제거 후 다시 시도하여 주십시오. '
);
if
(
$called_position
==
'after_module_proc'
)
$this
->act = Context::get(
'act'
);
else
$this
->act = null;
return
;
}
-
KTK
2012.09.26 20:07
정말 감사합니다!! ㅠㅠ 혹시 댓글로 바구려면 어떻게 해야하나요.. 완전 최고의 추석 선물이네요 감사합니다!
너무 수고가 많으셨습니다 ㅠㅠ
-
이렇게 수정하세요~
123456789101112131415161718<?php
if
(!defined(
"__ZBXE__"
))
exit
();
if
(
$this
->module ==
'admin'
)
return
;
if
(
$called_position
!=
'before_module_proc'
&&
$called_position
!=
'after_module_proc'
)
return
;
switch
(Context::get(
'act'
)) {
case
'procBoardInsertComment'
:
$title
= Context::get(
'content'
);
if
(!preg_match(
"/[ㄱ-ㅎ]+/"
,
$title
))
return
;
$this
->stop(
'한글 초성이 포함되어 있사오니 제거 후 다시 시도하여 주십시오. '
);
if
(
$called_position
==
'after_module_proc'
)
$this
->act = Context::get(
'act'
);
else
$this
->act = null;
return
;
}
-
KTK
2012.09.26 20:39
정말 정말 감사합니다 ㅠㅠ 사랑해요!!!
-
KTK
2012.09.26 20:45
완전 잘됩니다!!! 고맙습니다!!!
-
잘 된다니 다행이예요~
-
KTK
2012.09.26 20:47
염치불구하고 마지막 질문 드릴께요!! 메시지를 팝업띄우고 확인 누르면 없어지게 하려면 어떻게 하나요... ㅠㅠ 정말 염치없네요..
한글 초성이 포함되어 있사오니 제거 후 다시 시도하여 주십시오. 맨트 팝업 확인 누르면 사라짐 댓글이다보니..
시스템 메세지 다시작성할때 뒤로가기를 해야하네요..
-
alert 창 말씀하시는 거죠? 그거 확인 눌러도 댓글이 안날아가고 그대로 일텐데요?
-
KTK
2012.09.26 20:52
네 맞아요.. 댓글 안날아가도 될것 같아서요.
왜냐하면 뒤로가기 보다 백스페이스가 로딩이나 이런면에서 빠를것 같아요..
-
KTK
2012.09.26 20:53
아 잘됩니다^^ 이거 DX문제인가봐요 죄송합니다..
-
아마도 DX가 룰셋을 사용해서 그런 것 같네요.
-
KTK
2012.09.26 20:56
그렇군요 룰셋이 먼지 모르지만.. 고약하네요!!
제목 | 글쓴이 | 날짜 |
---|---|---|
게시판에 대해 닉네임,이름 등의 정렬을 추가하는 방법 [1] | sejin7940 | 2014.03.09 |
사이트접속시 모바일기기 접속이면 설정한 페이지로 이동시키기 | 홈피닥터 | 2014.03.09 |
홈페이지 주소창 상세 링크 안보이게 설정 | 헤이즈디자인 | 2014.03.09 |
유동아이피로 고정아이피 만들수있는 유틸 [27] | 론건맨 | 2003.10.10 |
xp어플 개발시 사진 회원 바로잡아 주는 함수 | 웹빌드 | 2014.03.09 |
날짜를 출력하는 간단한 소스입니다 | 낮은자 | 2014.03.07 |
[jQuery] 클릭하면 내용이 사라지는 방법 | 낮은자 | 2014.03.07 |
한글, 영문, 숫자, 특수문자 체크하는 함수 | ByteCMC | 2014.03.07 |
자주 쓰이는 정규표현식 모음 | 투니페이퍼 | 2014.03.06 |
css3 둥근테두리 만들기 | 낮은자 | 2014.03.06 |
XE 어플로 만들때 PUSH 기능처리 방법 | 웹빌드 | 2014.03.06 |
페이지 모듈에서 다국어 기능 작동 안 하는 버그 패치법 [1] | sejin7940 | 2014.03.04 |
폰갭 제작 어플 gcm 발송시 변수 | 웹빌드 | 2014.03.04 |
xe 홈페이지 폰갭으로 묶을때 | 웹빌드 | 2014.03.03 |
방명록 댓글 줄바꿈 | 메디칼온 | 2014.03.03 |
스케치북5 모바일 댓글 작성시 엔터를 쳤을 때 <br /> 코드 뜨는 문제 해결 [7] | oryan | 2014.02.23 |
홈페이지 접속자, 글(댓글) 작성자 국가 국기 표시 적용 방법
[19]
![]() | 라싸 | 2014.01.08 |
[팁 시리즈 2] 한글 도메인이나 영문 도메인 설정을 잘못 건드려서 사이트의 모든 기능이 거의 먹통입니다! | Omega3 | 2014.03.01 |
[팁 시리즈 1] 웹 사이트 이전 및 복구/백업(이)가 되지 않습니다! [6] | Omega3 | 2014.02.28 |
정규식 문법 | 웹엔진 | 2014.02.28 |
세진님 안녕하세요. 이걸이용하면 초성도 사용 못하게 할수 있을듯한대.
가령 댓글에 ㄳ, ㄱ ㅅ, 또는 ㅂㅈㄷㄱ 이선 초성도 사용못하게 할수 있을까요...
위에서 말씀하신 스킨은 레이아웃이겠지요
항상 좋은 팁 감사합니다.