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

공백또는 띄어쓰기 금지 스크립트문의 채택완료

히어1 11년 전 조회 8,212
//입력폼 영문 10자 한글 5자내외
 
 
글등록 눌를때 해당 스크립트로 특수문자는 일단 막았습니다.
공백이나 띄어쓰기를 금지 시킬려면 어떻게 해야하는지요?
댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
11년 전
// ChkByte() 에 추가
obj.value = obj.value.replace(/[^가-힣\w]/,'');
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

히어1
11년 전
아 하단에서 체크하는게 아니군요;;;;;;

function ChkByte(objname,maxlength) {
var objstr = objname.value; // 입력된 문자열을 담을 변수
var objstrlen = objstr.length; // 전체길이

// 변수초기화
var maxlen = maxlength; // 제한할 글자수 최대크기
var i = 0; // for문에 사용
var bytesize = 0; // 바이트크기
var strlen = 0; // 입력된 문자열의 크기
var onechar = ""; // char단위로 추출시 필요한 변수
var objstr2 = ""; // 허용된 글자수까지만 포함한 최종문자열

// 입력된 문자열의 총바이트수 구하기
for(i=0; i< objstrlen; i++) {
// 한글자추출
onechar = objstr.charAt(i);

if (escape(onechar).length > 4) {
bytesize += 2; // 한글이면 2를 더한다.
} else {
bytesize++; // 그밗의 경우는 1을 더한다.
}

if(bytesize <= maxlen) { // 전체 크기가 maxlen를 넘지않으면
strlen = i + 1; // 1씩 증가
}
}

// 총바이트수가 허용된 문자열의 최대값을 초과하면
if(bytesize > maxlen) {
alert( "소모임명은 영문10자내외 한글 5자내외로 허용됩니다.\n초과된 글자는 자동으로 삭제 됩니다.");
objstr2 = objstr.substr(0, strlen);
objname.value = objstr2;
}
objname.focus();
}

위쪽에 위치한 스크립트입니다.
어느부분에 넣어야하느지요.....
나름데로 적용해봣는데 에러나고 이상하게 적용되서 좀 헤매고 있어요 ;;;;;

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

11년 전
onkeyup 함수를 사용했으니, 
이곳에서 value값을 읽고, 
trim() 함수를 사용해서 공백을 지운후
value값에 넣으시면 될 것 같아요.
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

히어1
11년 전
아 이게 입력되면 다시 수정할수 잇는게 아니라 회원이 쓴데로 진행이 되지않는다면 나중에 문제의소지가 있어서요.
예민한 문제일수 잇어서 이 방법은 좀 생각해봐야겟어요 ;;;;;;;;
답변 감사합니다......

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

답변을 작성하려면 로그인이 필요합니다.

로그인