Html & Script

자바스크립트로 공백 문자 체크

페이지 정보

본문

맨날 보기만 하다 올려보네요.

게시판에 글을 찾아보니까 공백을 체크하는 알고리즘이 있더군요. 그런데 그 알고리즘엔 뭔가 빠진 느낌이 들어 봤더니.. 공백이 들어가면 무조건 잡아내더군요.

이건 제가 이곳저곳 자료를 찾아가며 만들어서 시험한 알고리즘입니다.

sub_regx = /^\\s/;
if (form.title.value.search (sub_regx) == 0 || form.title.value.charCodeAt(0) == 12288) {
  alert("일기장 제목을 입력하지 않았습니다.")
  form.title.focus();
  return false;

잘 보면 or 검사를 하는 것을 알 수 있습니다. 정규표현식에서도 ^ 를 추가함으로써 공백문자로 시작되면 잡아냅니다. 그리고 사용자들이 머리 쓰는 것중에 한글 자음 ㄱ 자를 누르고 1번째 특수문자를 잡아내면 첫번째 로직에 통과해 문제가 됩니다. 그래서 생각한 것이(생각하기 보다 상사와 싸운뒤에 조언을 얻었네요) 유니코드값을 이용해 출력해내는 것이었습니다.(원래는 이거였는데 글 올리고 나서 코드를 수정했네요...)

우선 위와 같이 하면 공백문자로 시작되거나 ㄱ자를 누르고 1을 눌러 특수문자를 잡아냅니다.  게시판 제목 같은데 사용하면 비교적 유용하게 쓰일 것 같네요.

이건 사족입니다만. 공백문자도 유니코드로 잡아낼 수 있는데, 왜 정규표현식을 이용해야 했냐만 물음이 있을 것 같아 달아놓습니다. 위의 \\s 는 캐리지 리턴, 라인피드, 폼피드, 수평, 수직 탭을 모두 잡아냅니다.  그래서 위의 기능을 모두 유니코드로 뽑아내려면 시간만 더 걸리기에 정규표현식으로 처리했습니다. 합쳐도 될 것 같긴 하네요.

늦은 뒷북이 아니기를...

관련자료

등록된 댓글이 없습니다.
Today's proverb
행복은 뭘까? 우리와 함께하는 것들. 숨쉬는 공기, 나무, 하늘, 가족, 친구. 이에 대한 고마움은 스쳐지나가기가 쉽다. 행복은 우리와 함께하는 것들의 가치를 아는 것이다. (신현림)