글자수 체크 특정 단어 제외 시키는 방법
본문
아래는 댓글 글자수를 체크하여 alert 을 띄우는 함수입니다.
{이모티콘:onion-
댓글 입력시 위 글자를 글자수 체크에서 제외하여
alert("댓글은 "+char_min+"글자 이상 쓰셔야 합니다.");
를 뜨게 하고 싶은데 방법을 도저히 모르겠습니다.
// 양쪽 공백 없애기
var pattern = /(^\s*)|(\s*$)/g; // \s 공백 문자
document.getElementById('wr_content').value = document.getElementById('wr_content').value.replace(pattern, "");
if (char_min > 0 || char_max > 0)
{
check_byte('wr_content', 'char_count');
var cnt = parseInt(document.getElementById('char_count').innerHTML);
if (char_min > 0 && char_min > cnt)
{
alert("댓글은 "+char_min+"글자 이상 쓰셔야 합니다.");
return false;
} else if (char_max > 0 && char_max < cnt)
{
alert("댓글은 "+char_max+"글자 이하로 쓰셔야 합니다.");
return false;
}
}
답변 2
// 양쪽 공백 없애기
var pattern = /(^\s*)|(\s*$)/g; // \s 공백 문자
document.getElementById('wr_content').value = document.getElementById('wr_content').value.replace(pattern, "");
var pattern2 = /{이모티콘:onion-/gi;
document.getElementById('wr_content').value = document.getElementById('wr_content').value.replace(pattern2, "");
이걸 넣어 주면 되지 않을까 싶네요.
공백처리 코드 다음에 해당문자열을 찾으면 ""로 바꿔주는 문자열함수 replace 를 사용하는 코드를 넣어주면 될 것 같아요.
var txt = document.getElementById('wr_content').value.replace(/{이모티콘:onion-/g, "");
이모티콘 문자를 제거한 문자열로 체크해야 하므로
86 줄의 check_byte함수가 요소명을 파라미터로 넘기는 것 같아 바로 이 함수를 사용하면 안되고
txt를 넘겨주어서 문자열크기를 얻을 수 있게 수정하셔야 할 것 같습니다.
더 쉽게는 87줄 없애고
var cnt = txt.length ; 로 바로 문자열크기를 구하셔서 cnt 비교하는 부분 그대로 수행하셔도 되지 않을까 합니다.